1. 程式人生 > >【python】python魔法方法(待填坑)

【python】python魔法方法(待填坑)

絕對值 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魔法方法(待填坑)