python怎么创建方法_python中的__new__方法
print(obj) #打印結(jié)果:<__main__.Foo object at 0x000002636FEAA208>
事實(shí)上如果(新式)類中沒(méi)有重寫__new__()方法,即在定義新式類時(shí)沒(méi)有重新定義__new__()時(shí),Python默認(rèn)是調(diào)用該類的直接父類的__new__()方法來(lái)構(gòu)造該類的實(shí)例,
如果該類的父類也沒(méi)有重寫__new__(),那么將一直按此規(guī)矩追溯至object的__new__()方法,因?yàn)閛bject是所有新式類的基類。
classF1(object):
#重寫__new__方法,返回這個(gè)重寫的__new__方法def __new__(cls, *args, **kwargs):return 123obj=F1() #實(shí)例化對(duì)象是誰(shuí)取決于__new__方法,__new__返回什么就是什么
print(obj,type(obj)) #打印結(jié)果:123
classF2(object):pass
classF3(object):def __new__(cls, *args, **kwargs):returnF2()
obj=F3() #實(shí)例化對(duì)象是誰(shuí)取決于__new__方法,__new__返回什么就是什么
print(obj) #<__main__.F2 object at 0x00000210119BA4A8>
總結(jié)
以上是生活随笔為你收集整理的python怎么创建方法_python中的__new__方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python web开发第三方库_Pyt
- 下一篇: python read函数_Python