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學習交流群:531509025
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和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
