#-*- coding: utf-8 -*-
#python 27
#xiaodeng
##類的專有方法(__del__)
'ps:析構函式只需要明白其用途,目前無需深入學習'#
__init__
#作用:當乙個類例項刪除時被呼叫
#析構函式與建構函式相反,當物件脫離其作用域時(物件所在的函式已呼叫完畢),系統自動執行析構函式。析構函式往往用來做清理善後的工作;
開闢了乙個記憶體空間之後,利用完畢了要釋放記憶體
#__del__()也是可選的,如果不提供,python在後台會提供預設析構函式。
#如果要顯式的呼叫析構函式,可以使用del關鍵字,如:del物件名
#析構函式是在生命週期裡最後乙個被呼叫的函式,所有刪除、釋放資源都常常會在這個函式內呼叫
class
auto():
def__init__
(self,color):
self.
__color=color
'建構函式:
',self.__color
def__del__(self):#
定義析夠函式
self.
__color="
red"
print self.__color
"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...