python 高階 魔法屬性和 魔法方法

2021-08-28 00:22:14 字數 823 閱讀 9989

魔法屬性和魔法方法

python 中預先定義好了一些以 __***__ 形式的屬性和方法。

這些屬性和方法用來表示特定的意義和功能。

__doc__ 屬性

⁃ 文件字串,docstring 用來對模組,類,方法進行說明的字串

⁃ 可以通過 help 方法在 獲取幫助時自動呼叫

__module__ 、__class__ 、__bases__ 、__mro__ 屬性

⁃ __module__ 屬性用來獲取當前成員屬性哪個模組

⁃ __class__ 屬性用獲取當前物件屬於哪個類

⁃ __bases__ 屬性用來獲取當前類的父類

⁃ __mro__ 屬性用來記錄父類的繼承關係

__init__ 、__new__ 方法

⁃ __init__ 方法用來對類中成員進行初始化,建立物件時自動呼叫

⁃ __new__ 方法是在建立物件時向記憶體中申請空間的方法,在 init 方法執行之前自動呼叫執行

__call__ 方法

⁃ 類中的方法,實現該方法可以讓物件以函式形式進行操作

⁃ 物件呼叫函式的這種形式稱為仿函式

__getitem__ 、 __setitem__ 、__delitem__ 、__len__ 、__str__ 方法

⁃ 實現這幾個 item 方法,可以讓類物件在操作時,使用下標進行操作

⁃ 使用 len 函式時,會呼叫 __len__ 這個方法

⁃ __str__ 方法是 python 提供的一種讓使用者自定義物件顯示形式的介面

Python 高階 魔法屬性

1.doc class foo 檢視說明資訊 def func self pass print foo.doc 輸出結果 檢視說明資訊learn 26 2 magic test.py 2.module 表示當前操作的物件在哪個模組 class 表示當前操作的物件的類是什麼 class person ...

Python高階 魔法屬性和方法

1.doc 表示類的描述資訊 2.module 和 class 當前操作物件所屬的模組和類 3.init 初始化方法,類建立物件時,自動觸發執行 4.del 物件在記憶體中釋放時,自動觸發執行 5.call 物件後加括號 物件 自動觸發執行 6.dict 類或物件中的所有屬性 7.str 列印物件時...

Python高階筆記(七)魔法屬性

注意 init 方法的執行是由建立物件觸發的,即 物件 類名 而對於 call 方法的執行是由物件後加括號觸發的,即 物件 或者 類 類的例項屬性屬於物件 類中的類屬性和方法等屬於類 encoding utf 8 class foo object country douzi def init sel...