【python】python魔法方法(待填坑)
阿新 • • 發佈:2017-05-27
絕對值 tle init cls -m del __init__ 另一個 trunc
參考博文:http://pyzh.readthedocs.io/en/latest/python-magic-methods-guide.html
參考博文英文原版:http://www.rafekettler.com/magicmethods.html
構造方法:
1、__new__:第一個調用,取下cls參數,並且把所有其他參數傳給__init__,只適用於繼承不改變的類比如int, tuple,string。
2、__init__:初始化方法
3、__del__:銷毀器,例如當銷毀對象的時候關閉對象打開的文件。
比較操作符:
1、__cmp__:如果所有比較標準比較統一,可以通過這個實現,否則要依次實現其他的比較操作符。(self>other返回1)
2、__eq__, __ne__, __lt__, __gt__, __le__, __ge__: =, !=, <, >, <=, >=
3、functools中有一個類裝飾器,只要定義__eq__和另一個操作符,就可以幫助實現比較方法,@total_ordering。
數值操作符:一元
1、__pos__:取正
2、__neg__:取負
3、__abs__:絕對值
4、__invert__:取反操作符~
5、__round__:近似位數
6、__floor__:向下取整
7、__ceil__:向上取整
8、__trunc__:取距離0最近的整數
數字操作符:二元
1、__add__
2、__sub__
3、__mul__
4、__floordiv__://
5、__div__:/
6、__mod__
7、__divmod__
【python】python魔法方法(待填坑)