類的專有方法 del

2022-03-12 22:38:41 字數 1195 閱讀 2866

#

-*- coding: utf-8 -*-

#python 27

#xiaodeng

##類的專有方法(__del__)

'ps:析構函式只需要明白其用途,目前無需深入學習'#

__init__

#作用:當乙個類例項刪除時被呼叫

#析構函式與建構函式相反,當物件脫離其作用域時(物件所在的函式已呼叫完畢),系統自動執行析構函式。析構函式往往用來做清理善後的工作;

開闢了乙個記憶體空間之後,利用完畢了要釋放記憶體

#__del__()也是可選的,如果不提供,python在後台會提供預設析構函式。

#如果要顯式的呼叫析構函式,可以使用del關鍵字,如:del物件名

#析構函式是在生命週期裡最後乙個被呼叫的函式,所有刪除、釋放資源都常常會在這個函式內呼叫

class

auto():

def__init__

(self,color):

self.

__color=color

print

'建構函式:

',self.__color

def__del__(self):#

定義析夠函式

self.

__color="

red"

print self.__color

print

"release...

"def

getcolor(self):

print self.__color

if__name__=='

__main__':

car=auto('

blue')

car.getcolor()

#首先呼叫getcolor方法,執行print self.__color得輸出結果blue,

#如果在這裡,所有的程式都執行完畢,將執行del析構函式,這時的self.__color應該是"red"

delcar

#刪除例項化car後,再次呼叫car.getcolor()會報錯,

#因為car沒有進行例項化無法呼叫!!

#car.getcolor()#nameerror: name 'car' is not defined

'''建構函式: blue

blue

redrelease...

'''

類的專有方法 len

coding utf 8 python 27 xiaodeng 類的專有方法 len 如果乙個類表現得像乙個list,要獲得有多少個元素,就得用len 要讓len 函式正常工作,類必須提供乙個特殊的方法 len 才能返回元素的個數 案例01 class fib def init self,num a...

類的專有方法 init

coding utf 8 python 27 xiaodeng 類的專有方法 init init 類似於建構函式 作用 初始化已例項化後的物件 初始化物件,在建立新物件時呼叫 class student object def init self,name xiaodeng 預設引數 self.nam...

Python 私有方法,專有方法

python的私有方法 以 雙劃線開頭,但不以雙劃線結尾,privatemethod 專有方法 以雙劃線開頭和結尾,init e.gclass person def init self,name self.name person def getname self return self.name a...