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
作者:iveBoy
出處:http://www.cnblogs.com/shenjianping/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連接配接,否則保留追究法律責任的權利。