首页 > 代码库 > 【python】python魔法方法(待填坑)

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

参考博文: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魔法方法(待填坑)