您好,登錄后才能下訂單哦!
構造函數:
當類被調用,實例化的第一步是創建實例對象。在類創建實例對象時會使用構造函數初始化其內部狀態。python提供的構造函數是__init__(),這個函數是可選的,沒有提供時,系統會默認提供一個無參的構造函數,構造函數形如下列:
class Province: memo = "中國的23個省之一" #是類的字段,是屬于類的,不屬于對象,這個屬于類的靜態字段,屬于類 def __init__(self,name,captial,leader): self.Name=name #通過self創建的字段叫做動態字段,不像靜態字段,動態字段屬于對象 self.Captial=captial self.Leader=leader XZ=Province("西藏","烏魯木齊","×××",True)
析構函數:
當使用del刪除對象時,會調用他本身的析構函數,另外當對象在某個作用于中調用完畢,在跳出其作用域的同時析構函數也會被調用,這樣可以來釋放內存空間,析構函數時可選的,如果不提供時,python會使用默認的析構函數,析構函數形如__del__。
顯式的調用析構函數,可以使用del關鍵字:del 對象名
在上面的例子中添加析構函數,如下:
class Province: memo = "中國的23個省之一" #是類的字段,是屬于類的,不屬于對象,這個屬于類的靜態字段,屬于類 def __init__(self,name,captial,leader): self.Name=name #通過self創建的字段叫做動態字段,不像靜態字段,動態字段屬于對象 self.Captial=captial self.Leader=leader def __del__(self): print "析構函數被調用" XZ=Province("西藏","烏魯木齊","×××",True) print XZ.Leader del XZ #釋放對象,之后就不能再訪問該對象了 print XZ.Leader #執行結果如下 ××× 析構函數被調用 Traceback (most recent call last): File "F:\lvsir\workspace\pystudy-oldboy\oop\xghs.py", line 16, in <module> print XZ NameError: name 'XZ' is not defined
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。