例項通常能夠呼叫類的屬性,但是有些屬性是類專有的,例項無法呼叫。
例項呼叫方法時查詢屬性時,首先在自己的__dict__中找,找不到去類中找,在類中能夠找到的屬性都位於dir(cls)中,如果類的某些屬性不在dir(cls)中,那麼例項無法訪問。
1 >>> classa:2pass
34 >>> a.__name__
#the name of class, function, method, descriptor, generator5'
a'6 >>> a.__qualname__
#qualified name (path from global scope to here)7'
a'8 >>> a.__mro__
#look for base classed during method resolution
9 ('__main__.a
'>, 'object
'>)
10 >>> a.mro() #
result is stored in __mro__
11 ['__main__.a
'>, 'object
'>]
12 >>> a.__subclasses__() #
immediate subclasses
13
類的專有方法 len
coding utf 8 python 27 xiaodeng 類的專有方法 len 如果乙個類表現得像乙個list,要獲得有多少個元素,就得用len 要讓len 函式正常工作,類必須提供乙個特殊的方法 len 才能返回元素的個數 案例01 class fib def init self,num a...
類的專有方法 del
coding utf 8 python 27 xiaodeng 類的專有方法 del ps 析構函式只需要明白其用途,目前無需深入學習 init 作用 當乙個類例項刪除時被呼叫 析構函式與建構函式相反,當物件脫離其作用域時 物件所在的函式已呼叫完畢 系統自動執行析構函式。析構函式往往用來做清理善後的...
類的專有方法 init
coding utf 8 python 27 xiaodeng 類的專有方法 init init 類似於建構函式 作用 初始化已例項化後的物件 初始化物件,在建立新物件時呼叫 class student object def init self,name xiaodeng 預設引數 self.nam...