運算符重載
- 運算符重載是指在方法中攔截內置的操作–當類的實例出現在內置操作中,Python會自動調用自定義的方法,並且返回自定義方法的操作結果
- 運算符重載讓類攔截常規的Python運算
- 類可重載所有Python表達式雲算符
- 類也可重載打印、函數調用、屬性點號運算等內置運算
- 重載使類實例的行爲像內置類型
- 重載通過提供特殊名稱的類方法實現
- 運算符重載讓類攔截常規的Python運算
- 運算符重載並非必須,並且通常也不是默認的
- 除了_ _ init _ _ 和 _ _ del _ _ 之外,python類支持使用許多的特殊方法
- 特殊方法都以雙下劃線開頭和結尾,有些特殊方法有默認行爲,沒有默認行爲的爲了留到需要的時候再實現
- 這些特殊方法是Python中用來擴充類的強大工具,它們可以實現:
模擬標準類型
重載操作符 - 特殊方法允許類通過重載標準操作符+,*,甚至包括分段下標及映射操作[]來模擬標準類型
可調用對象有:call()
函數
- 內置函數
- 自定義函數
- def
- lambda
類
- 類方法
函數的屬性:
__doc__
__name__
__dict__
__code__
__globals__
方法:
實例方法:綁定方法
類方法:非綁定方法
靜態方法
方法的屬性:
__doc__
__name__
__class__ :方法所屬的類
__func__ :實現該方法的函數對象
__self__ :調用此方法的實例
內置函數:
__doc__
__name__
__self__
類:
__doc__
__name__
__bases__
__dict__
__module__ :定義了當前類的模塊名稱
實例:
__class__
__dict__
對象都有特殊方法:
__init__
__new__
__del__
__dir__()
__add__()
__ge__()