参考博文: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__
时间: 2024-10-10 10:53:41