七种Python创建对象的方式,学会了吗
Python语言提供了多种创建对象的方式,这里列出其中方式,比如下面有一个类:class Bar:def __init__(self,x):print(x)self.x=x方式一:传统方式构建,将类对象当成构造器使用b1=Bar(4)方式二:把类名当成参数,使用eval()函数b2=eval("Bar(1)")方式三:使用getattr函数import sysb3=getattr(sys.modu
·
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)
方式五:
使用自定义函数创建对象
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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
更多推荐
已为社区贡献45条内容
所有评论(0)