天天看點

建立對象的七種方式

  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/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連接配接,否則保留追究法律責任的權利。