Python之析構函式

2021-09-24 13:53:47 字數 998 閱讀 2840

析構函式:與建構函式(建立物件的時候第乙個被自動呼叫的函式__init__)相反,當物件被銷毀的時候自動呼叫的函式__del__,被稱為析構函式

物件銷毀:程式執行完畢,使用del刪除,即物件被銷毀

使用場景:物件即將被銷毀的時候需要做一些工作,比如:關閉檔案,關閉資料庫,關閉各種資源

import time

class pig():

#1.建構函式

def __init__(self,name,age):

self.name = name

self.age = age

print("建構函式被呼叫")

#2.析構函式

def __del__(self):

print("析構函式被呼叫")

p = pig("小白",10) #建構函式被呼叫

del p #析構函式被呼叫

注意:物件釋放之後將不能再訪問【相當於該物件未被建立過】

import time

class pig():

#1.建構函式

def __init__(self,name,age):

self.name = name

self.age = age

print("建構函式被呼叫")

#2.析構函式

def __del__(self):

print("析構函式被呼叫")

def func():

p1 = pig("",0) #建構函式被呼叫

#析構函式被呼叫

func()

注意: 在函式中建立的物件,其實還是乙個區域性變數,會在函式執行完畢之後被自動釋放

python析構函式

class test object def init self,name self.name name print 這是建構函式 def say hi self print hell,s self.name def del self print 這是析構函式 obj test bigberg obj...

PHP之 析構函式

如何正確理解php析構函式 參考文獻 如果你在乙個類中宣告乙個函式,命名為 construct,這個函式將被當成是乙個建構函式並在建立乙個物件例項時被執行.清楚地說,是兩個下劃線.就像其它任何函式一樣,建構函式可能有引數或者預設值.你可以定義乙個類來建立乙個物件並將其屬性全放在乙個語句 statem...

C 析構函式 虛析構函式

1.為什麼要定義虛析構函式?如果有乙個帶有虛函式功能的類,則它需要乙個虛析構函式,原因如下 1 如果乙個類有虛函式功能,它經常作為乙個基類使用 2 如果它是乙個基類,它的派生類經常使用new來分配 3 如果乙個派生類物件使用new來分配,並且通過乙個指向它的基類的指標來控制,那麼它經常通過乙個指向它...