在Python中,运算符重载是指通过特殊方法(也称为魔术方法或双下划线方法)来改变内置运算符的行为。通过重载运算符,土粉们可以让自定义对象支持类似于内置类型的操作。
下面土嘎嘎小编分享一些常用的运算符重载方法及其对应的运算符:
1. ●算术运算符●
◇ __add__(self, other) : 支持加法运算符 +
◇ __sub__(self, other) : 支持减法运算符 -
◇ __mul__(self, other) : 支持乘法运算符 *
◇ __truediv__(self, other) : 支持除法运算符 /
◇ __floordiv__(self, other) : 支持整除运算符 //
◇ __mod__(self, other) : 支持取模运算符 %
◇ __pow__(self, other[, modulo]) : 支持幂运算符 ●
2. ●比较运算符●
◇ __lt__(self, other) : 支持小于运算符 <
◇ __le__(self, other) : 支持小于等于运算符 <=
◇ __eq__(self, other) : 支持等于运算符 ==
◇ __ne__(self, other) : 支持不等于运算符 !=
◇ __gt__(self, other) : 支持大于运算符 >
◇ __ge__(self, other) : 支持大于等于运算符 >=
3. ●逻辑运算符●
◇ __and__(self, other) : 支持按位与运算符 &
◇ __or__(self, other) : 支持按位或运算符 |
◇ __xor__(self, other) : 支持按位异或运算符 ^
◇ __invert__(self) : 支持按位取反运算符 ~
4. ●索引和切片运算符●
◇ __getitem__(self, index) : 支持获取元素或切片的操作,例如 obj[index] 或 obj[start:end]
◇ __setitem__(self, index, value) : 支持设置元素或切片的操作,例如 obj[index] = value 或 obj[start:end] = values
5. ●其他常用方法●
◇ __str__(self) : 支持将对象转换为字符串表示形式,使用 str(obj) 或 print(obj) 时调用
◇ __len__(self) : 支持返回对象的长度,使用 len(obj) 时调用
通过在自定义类中实现这些特殊方法,土粉们可以重载相应的运算符,并改变对象在进行运算时的行为。这样,土粉们就可以根据自己的需要定制对象的行为方式。