Python類的特殊屬性

2022-02-11 09:39:12 字數 1022 閱讀 3883

定義如下類:

class foo(object):

"""foo class definition"""

類的特殊屬性都有哪些呢?

foo.__name__ 類的名字

foo.__doc__ 類的文件字串

foo.__bases__ 類的所有父類構成的元組

foo.__dict__ 類的屬性

foo.__module__ 類定義所在的模組

foo.__class__ 類例項所屬的類,與type(foo)返回值相同

如:

print(foo.__name__)

print(foo.__doc__)

print(foo.__bases__)

print(foo.__dict__)

print(foo.__module__)

print(foo.__class__)

輸出如下:

foo

foo class definition

(,)__main__

__name__常常用在需要得到類的字串的名字時,使用type(foo)時會返回型別例項。

__doc__是文件字串,定義時需要緊跟在class定義的下一行。

__bases__用來處理類繼承,它包含了由所有父類組成的元組。

__dict__由類的資料屬性組成。訪問類的屬性時,會搜尋該欄位,如果在__dict__中沒有找到,將會在基類中__dict__中進行搜尋,而搜尋的基類是按照出現在類定義繼承從左到右出現的順序。對類屬性修改只會影響在本類,並不會影響父類中的__dict__。

__module__界定了類所屬的模組。

__class__新式類定義此屬性,表明類已經是一種型別。

一定不要將類屬性與例項屬性弄混淆。如:

f = foo()

print(f.__dict__)

將輸出:

{}

因為還沒有作為例項的屬性。

Python (類)例項方法的特殊屬性

自定義函式的特殊屬性已經專門整理過一篇 python 自定義函式的特殊屬性 方法的特殊屬性與其稍有不同,我們通過下面這個例子展開介紹 class a def foo self a method print hellow world bar foo classmethod def clsmtd cls...

91 Python 中類的特殊屬性

目錄 特殊屬性 python物件中包含了很多雙下劃線開始和結束的屬性,這些事特殊屬性,有特殊用法 這裡我們列出常見的特殊屬性 特殊方法 含義 obj.dict 物件的屬性字典 obj.class 物件所屬的類 class.bases 類的基類元組 多繼承 class.base 類的基類 class....

vue 特殊屬性

長用於構建動態元件且基於 dom 內模板的限制 插槽,推薦使用2.6.0新出的v slot 用於標記往哪個具名插槽中插入子元件內容。被 2.5.0 新增的 slot scope 取代。推薦 2.6.0 新增的 v slot 用於表示乙個作為帶作用域的插槽的 元素,它在 2.5.0 中被 slot s...