python基礎8之類的析構函式

2022-05-27 03:42:23 字數 776 閱讀 3602

析構函式,第一次聽說這個函式的名稱,那這個函式到底是幹嘛的呢?什麼才是析構函式吶?

定義:在例項銷毀的時候呼叫的函式

2.1 定義

class dog(object):

"dog class"

def __init__(self,name):

self.name = name

def sayhi(self):

print("the dog is sayhi".format(self.name))

def __del__(self): #定義析構函式

print("del.....run...")

d = dog("alex")

del d

import time

time.sleep(5)

#輸出del.....run...

①析構函式說明時候呼叫呢?

其實每乙個物件都是乙個應用,就像每乙個房間都有門牌號一樣, 只要這個物件的引用被清空時,就會自動執行,就像上面的del d,其實python中有自動垃圾**機制,會定時去的去**一些被清空的應用,而析構函式就是在引用被清空之後會自動執行

②析構函式的作用?

比如說server端接受很多客戶端的連線,當你手動遮蔽你的sever端的時候,這個時候客戶端還在正常的連線,如果sever端用類寫的,你就可以delete server端的同時,在__del__()寫一些東西,說去close掉很多客戶端的連線。說白了,析構函式就是做一些程式的收尾工作。

C 學習之類的析構函式

c 學習之類的析構函式 一 認識析構函式 這裡我們來簡單說說類的析構函式,它是類的乙個成員函式,名字由波浪號加類名構成。看它的名字我們大概就能聯想到他功能,是執行與建構函式相反的操作 釋放物件使用的資源,並銷毀非static成員。同樣的,我們來看看析構函式的幾個特點 1.函式名是在類名前加上 無引數...

C 之類的構造與析構(一)

今天我們了解一下類的建構函式 析構函式。其中建構函式會提到預設建構函式 過載建構函式和複製建構函式。好了,現在開始我們的旅程吧。首先溫習一下c和c 中分配記憶體的方法。我們知道,c中的malloc free和c 中的new delete是用來分配記憶體和釋放記憶體的,這裡的記憶體是前面博文提到的 堆...

public 函式 C 的this函式和析構函式

你可以因為現任不好而分手,但千萬不要認為別人更好,永遠有人更好,眼下便是更好。網易雲熱評 一 this函式 對於普通的成員函式,this指向呼叫該函式的物件 對於建構函式,this指向正在建立的物件 include using namespace std class teacher 通過this區分...