1. 程式人生 > >Python3中的解構函式

Python3中的解構函式

解構函式

                   解構函式:__del__(self)
                                     在程式全部結束時自動結束,當程式無法結束時該函式也不會執行。

                   執行時間:1.如果該解構函式是全域性,則程式結束自動執行
                                     2.如果該解構函式是區域性,比如在函式中,函式執行完畢後就自動執行
                                     3.手動刪除   del+變數名,刪除後不能再次使用。
                   解構函式的意義:

                                 其實解構函式大部分時間作用不大,要說它比較有用的地方便是當你

                                 看到你寫的解構函式打印出來的時候就代表著該程式塊或者該函式已經全部執行結束了,

                                 所以大部分時間都處於無用的地位(就我目前的學習水平來說)

下邊是一個簡單案例:

#def __del__(self):
#        print('我走了')
class Person:
    def __init__(self):
        print('我出生了')
    def __del__(self):
        print('我走了')
    def eat(self):
        print('吃飯')
p=Person()
p.eat()
#將註釋部分分別執行,觀察解構函式的執行規則 
#a=1
#while True:
#    a+=1

在Python中,程式是自帶垃圾回收功能的,什麼意思呢?說起來這也算是Python的強大之處,意思就是在Python檔案執行結束後,Python會自動清理自己佔用的記憶體空間,從而避免佔用大量電腦資源而導致電腦癱瘓,有興趣的同學可以看看,寫一個死迴圈,讓程式執行,這時開啟工作管理員,在程序裡邊就可以看到python檔案正在佔用cpu資源,當終止程式時,程序也消失了,這在很多語言中是沒有的,就算你結束了程式,執行檔案仍可能殘留在程序中。