Python中如何重载运算符
在Python中,与其他编程语言相比,我们可以更灵活地定义和使用自定义类型。这些类型可以像Python内置类型一样使用,这意味着我们可以重载操作符来自定义其行为。
什么是运算符重载?
运算符重载意味着定义自定义类型的行为方式。 运算符重载使自定义类型可以更直观地使用。
例如,如果我们有一个自定义类来表示复数,我们可以通过重载其加法和减法运算符来加减两个复数,而不是手动计算它们的每个部分。
Python运算符重载的基础知识
Python运算符重载是通过特殊方法实现的。这些特殊方法具有特殊的名称和用途,可以重载运算符。以下是重载运算符和它们的特殊方法:
运算符 | 对应的特殊方法 |
---|
- |
__add__(self, other)
- |
__sub__(self, other)
- |
__mul__(self, other)
/ |__truediv__(self, other)
// |__floordiv__(self, other)
% |__mod__(self, other)
** |__pow__(self, other)
& |__and__(self, other)
| |__or__(self, other)
^ |__xor__(self, other)
~ |__invert__(self)
<< |__lshift__(self, other)
|
__rshift__(self, other)
== |__eq__(self, other)
!= |__ne__(self, other)
< |__lt__(self, other)
|__gt__(self, other)
<= |__le__(self, other)
= |__ge__(self, other)
要重载运算符,请定义相应的特殊方法,并根据需要实现自定义行为。
代码示例
接下来,我们将看一些Python运算符重载的示例:
class Complex:
def __init__<