Python语言提供了多种创建对象的方式,这里列出其中方式,比如下面有一个类:
class Bar: def __init__(self,x): print(x) self.x=x
方式一:
传统方式构建,将类对象当成构造器使用
b1=Bar(4)
方式二:
把类名当成参数,使用eval()函数
b2=eval("Bar(1)")
方式三:
使用getattr函数
import sys b3=getattr(sys.modules[__name__],"Bar")(3)
方式四:
使用globals函数
b4=globals()["Bar"](5)
方式五:
使用自定义函数创建对象
def make_object(cls,*args,**kwargs): return cls(*args,**kwargs) b5=make_object(Bar,10)
方式六:
原型方式创建
b6=copy.deepcopy(b5)
b6.x=9
方式七:
使用__class__创建,使用新参数创建对象
b7=b1.__class__(11) #__class__查看对象所在的类b1.__class_查看b1的类就是Bar