python 动态创建类
2012-03-08 10:16
453 查看
locals和globs
locals:
>>> def foo (arg):
x=3
print locals()
>>> foo(5)
{'x': 3, 'arg': 5}
Python有两个内置的函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。
局部名字空间 - 特指当前函数或类的方法。如果函数定义了一个局部变量 x,Python将使用这个变量,然后停止搜索。
全局名字空间 - 特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,Python将使用这个变量然后停止搜索。
动态的创建类的实例:
m = __import__('mymodule')
c = getattr(m, 'myclass')
myobject = c()
如果myclass并不在mymodule的自动导出列表中(__all__),则必须显式地导入,例如:
m = __import__('mymodule', globals(), locals(), ['myclass'])
c = getattr(m, 'myclass')
myobject = c()
locals:
>>> def foo (arg):
x=3
print locals()
>>> foo(5)
{'x': 3, 'arg': 5}
Python有两个内置的函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。
局部名字空间 - 特指当前函数或类的方法。如果函数定义了一个局部变量 x,Python将使用这个变量,然后停止搜索。
全局名字空间 - 特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,Python将使用这个变量然后停止搜索。
动态的创建类的实例:
m = __import__('mymodule')
c = getattr(m, 'myclass')
myobject = c()
如果myclass并不在mymodule的自动导出列表中(__all__),则必须显式地导入,例如:
m = __import__('mymodule', globals(), locals(), ['myclass'])
c = getattr(m, 'myclass')
myobject = c()
相关文章推荐
- python学习笔记2-强大的动态创建
- [Python]利用type()动态创建类
- python 动态创建字典名
- 【Python学习日记】函数列表 动态创建函数 文件读取 迭代器
- python动态创建对象变量
- Python中动态创建类实例
- python动态创建变量
- python 动态创建一个类
- 使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据
- 使用Python创建MySQL数据库实现字段动态添加以及动态的插入数据
- Python中动态创建类实例
- Python中动态创建类实例
- Python动态创建类
- python动态创建变量
- 对python创建及引用动态变量名的示例讲解
- python 动态创建类
- python中利用exec动态创建函数
- python创建及引用动态变量名的方法
- python 动态创建类
- 基于Python的nessus API简析——动态创建任务