__init__(self[,...])
__init__和__new__組成python的構造器,但__init__更多的是負責初始化操作,相當于一個項目中的配置文件,__new__才是真正的構造函數,創建并返回一個實例對象,如果__new__只調用了一次,就會得到一個對象
?
__new__(cls[,...])
當繼承一個不可修改的類,但又想去修改的時候,需要重寫__new__方法
>>> class Capstr(str): # str是一個不可修改的類 def __new__ (cls,string): string = string.upper() return str. __new__ (cls,string) >>>a = Capstr( ' i am Demi ' ) >>> a ' I AM DEMI '
?
? __del__(self)
是對象的析造器,并非所有del操作都會調用__del__(),只有對象生成后,所有對它的引用都被del之后,才會啟動垃圾回收機制,才會調用__del__方法
>>> class C: def __init__ (self): print ( ' __init__方法正在被調用 ' ) def __del__ (self): print ( ' __del__方法正在被調用 ' ) >>>c1= C() __init__方法正在被調用 >>>c2= c1 >>> del c2 >>> del c1 __del__方法正在被調用
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
