什么是运算符重载,Python可重载运算符有哪些?
运算符重载(Operator Overloading)指的是在类中重新定义基本运算符的行为,使其可以用于类的对象。Python支持重载的运算符有:
- 算术运算符:
+
(加)、-
(减)、*
(乘)、/
(除)、%
(取余)、**
(幂)、//
(整除)。 - 比较运算符:
==
(等于)、!=
(不等于)、>
(大于)、<
(小于)、>=
(大于等于)、<=
(小于等于)。 - 赋值运算符:
=
(赋值)、+=
(加并赋值)、-=
(减并赋值)、*=
(乘并赋值)、/=
(除并赋值)、%=
(取余并赋值)、**=
(幂并赋值)、//=
(整除并赋值)。 - 位运算符:
&
(与)、|
(或)、^
(异或)、~
(取反)、<<
(左移)、>>
(右移)。 - 逻辑运算符:
and
(逻辑与)、or
(逻辑或)、not
(逻辑非)。 - 成员运算符:
in
(存在于对象中)、not in
(不存在于对象中)。 - 身份运算符:
is
(是相同对象)、is not
(不是相同对象)。 - 索引运算符:
[]
(获取元素)。 - 函数调用运算符:
()
(调用函数)。
除了上述运算符,Python还支持自定义运算符重载,通过在类中定义相应的特殊方法来实现。