python tips 類的專有屬性

2022-08-15 16:12:16 字數 693 閱讀 1360

例項通常能夠呼叫類的屬性,但是有些屬性是類專有的,例項無法呼叫。

例項呼叫方法時查詢屬性時,首先在自己的__dict__中找,找不到去類中找,在類中能夠找到的屬性都位於dir(cls)中,如果類的某些屬性不在dir(cls)中,那麼例項無法訪問。

1 >>> classa:2

pass

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...