python中__del__使用方法
創(chuàng)建對(duì)象后,python解釋器默認(rèn)調(diào)用__init__()方法。當(dāng)刪除一個(gè)對(duì)象時(shí),python解釋器也會(huì)默認(rèn)調(diào)用一個(gè)方法,這個(gè)方法為__del__()方法。在python中,對(duì)于開(kāi)發(fā)者來(lái)說(shuō)很少會(huì)直接銷(xiāo)毀對(duì)象(如果需要,應(yīng)該使用del關(guān)鍵字銷(xiāo)毀)。Python的內(nèi)存管理機(jī)制能夠很好的勝任這份工作。也就是說(shuō),不管是手動(dòng)調(diào)用del還是由python自動(dòng)回收都會(huì)觸發(fā)__del__方法執(zhí)行:
| import time class Animal(object): ? ??? # 初始化方法 ??? # 創(chuàng)建完對(duì)象后會(huì)自動(dòng)被調(diào)用 ??? def __init__(self, name): ??????? print('__init__方法被調(diào)用') ??????? self.__name = name ? ? ??? # 析構(gòu)方法 ??? # 當(dāng)對(duì)象被刪除時(shí),會(huì)自動(dòng)被調(diào)用 ??? def __del__(self): ??????? print("__del__方法被調(diào)用") ??????? print("%s對(duì)象馬上被干掉了..."%self.__name) ? # 創(chuàng)建對(duì)象 dog = Animal("哈皮狗") ? # 刪除對(duì)象 del dog ? ? cat = Animal("波斯貓") cat2 = cat cat3 = cat ? print("---馬上 刪除cat對(duì)象") del cat print("---馬上 刪除cat2對(duì)象") del cat2 print("---馬上 刪除cat3對(duì)象") del cat3 ? print("程序2秒鐘后結(jié)束") time.sleep(2) | 
總結(jié)
以上是生活随笔為你收集整理的python中__del__使用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: python面试总结(三)拷贝与通信
- 下一篇: java对象持久化技术_Java对象持久
