对象之间可以进行算数运算
算数运算魔法方法均可以重写:
__add__(self, other) :定义假发的行为:+
__sub__(self, other):定义减法的行为:-
__mul__(self, other):定义乘法的行为:*
__truediv__(self, other):定义真除法的行为:/
__floordiv__(self, other):整数出发的行为://
__mod__(self, other):定义取模算法的行为:%
__divmod__(self, other):定义当被divmod()调用时的行为
__pow__(self, other [, modulo]):定义当被power()调用或**运算时的行为
__lshift__(self, other):定义按位左移位的行为:<<
__rshift__(self, other):定义按位右移位的行为:>>
__and__(self, other):定义按位与操作的行为:&
__xor__(self, other):定义按位异或操作的行为:^
__or__(self, other):定义按位或操作的行为:|
>>> class New_int(int):
def __add__(self, other):
return int.__sub__(self, other)
def __sub__(self, other):
return int.__add__(self, other)
>>> a = New_int(3)
>>> b = New_int(5)
>>> a + b
-2
>>> a - b
8
>>>
本文介绍Python中如何通过重写特殊方法来自定义对象的算术运算行为,例如加法、减法等,并提供了一个具体的例子来展示如何实现。
3243

被折叠的 条评论
为什么被折叠?



