python中创建对象的七种方式
生活随笔
收集整理的這篇文章主要介紹了
python中创建对象的七种方式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Python語言提供了多種創(chuàng)建對象的方式,這里列出其中方式,比如下面有一個類:
class Bar:def __init__(self,x):print(x)self.x=x方式一:
傳統(tǒng)方式構(gòu)建,將類對象當(dāng)成構(gòu)造器使用
b1=Bar(4)方式二:
把類名當(dāng)成參數(shù),使用eval()函數(shù)
b2=eval("Bar(1)")方式三:
使用getattr函數(shù)
import sys b3=getattr(sys.modules[__name__],"Bar")(3)方式四:
使用globals函數(shù)
b4=globals()["Bar"](5)方式五:
使用自定義函數(shù)創(chuàng)建對象
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' def make_object(cls,*args,**kwargs):return cls(*args,**kwargs)b5=make_object(Bar,10)方式六:
原型方式創(chuàng)建
b6=copy.deepcopy(b5) b6.x=9方式七:
使用__class__創(chuàng)建,使用新參數(shù)創(chuàng)建對象
b7=b1.__class__(11) #__class__查看對象所在的類b1.__class_查看b1的類就是Bar總結(jié)
以上是生活随笔為你收集整理的python中创建对象的七种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: range与enumerate的区别
- 下一篇: python元类的简单了解