我覺得這是對訪談最常見的問題:爲什麼不__del__正常工作
class A:
def __init__(self, name):
self.name = name
def __del__(self):
print self.name,
aa = [A(str(i)) for i in range(3)]
for a in aa:
del a
所以這段代碼爲什麼什麼輸出。 輸出將是沒有,爲什麼? 那是因爲一個參考列表中的對象,然後我們調用del方法我們刪除這個參考但不是對象?
誰會要求你在一次採訪中根據語言規範本身來描述一些有點模糊和無用的代碼,其行爲是不確定的還是未定義的?這些C或Java程序員是否試圖採訪Python職位? – 2012-08-16 17:39:37
大聲笑,我得到這個問題大約3或4次)) – Denis 2012-08-16 17:52:54