1. 程式人生 > >Python面向對象4:類的常用魔術方法

Python面向對象4:類的常用魔術方法

一個 操作 delet 不存在 兩個 strong 參數 否則 成員

魔術方法就是不需要人為調用的方法,基本是在特定的時刻自動觸發
- 魔術方法的統一的特征,方法名被前後各兩個下滑線包裹

- 操作類

- `__init__`: 構造函數
- `__new__`: 對象實例化方法,此函數較特殊,一般不需要使用
- `__call__`: 對象當函數使用的時候觸發
- `__str__`: 當對象被當做字符串使用的時候調用
- `__repr__`: 返回字符串,跟`__str__`具體區別請百度

- 描述符相關

- `__set__`
- `__get__`
- `__delete__`

- 屬性操作相關

- `__getattr__`: 訪問一個不存在的屬性時觸發

- `__setattr__`: 對成員屬性進行設置的時候觸發
- 參數:
- self用來獲取當前對象
- 被設置的屬性名稱,以字符串形式出現
- 需要對屬性名稱設置的值
- 作用:進行屬性設置的時候進行驗證或者修改
- 註意: 在該方法中不能對屬性直接進行賦值操作,否則死循環
- 參看案例

- 運算分類相關魔術方法

- `__gt__`: 進行大於判斷的時候觸發的函數
- 參數:
- self
- 第二個參數是第二個對象

- 返回值可以是任意值,推薦返回布爾值
- 案例

Python面向對象4:類的常用魔術方法