您的位置:首页 > 编程语言 > Python开发

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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: