1. 程式人生 > >python中__del__使用方法

python中__del__使用方法

建立物件後,python直譯器預設呼叫__init__()方法。當刪除一個物件時,python直譯器也會預設呼叫一個方法,這個方法為__del__()方法。在python中,對於開發者來說很少會直接銷燬物件(如果需要,應該使用del關鍵字銷燬)Python的記憶體管理機制能夠很好的勝任這份工作。也就是說,不管是手動呼叫del還是由python自動回收都會觸發__del__方法執行:

import time

classAnimal(object):

# 初始化方法

# 建立完物件後會自動被呼叫

def __init__(self, name):

print('__init__方法被呼叫

')

        self.__name = name

# 析構方法

# 當物件被刪除時,會自動被呼叫

def __del__(self):

print("__del__方法被呼叫")

print("%s物件馬上被幹掉了..."%self.__name)

# 建立物件

dog = Animal("哈皮狗")

# 刪除物件

del dog

cat = Animal("波斯貓")

cat2 = cat

cat3 = cat

print("---馬上刪除cat物件")

del cat

print("---馬上刪除cat2物件")

del cat2

print("---馬上刪除cat3

物件")

del cat3

print("程式2秒鐘後結束")

time.sleep(2)