浅谈比较运算的魔术方法
今天聊聊python
中的比较运算的魔术方法,也被称为富比较
方法:
x.__lt__(self, other)
x.__le__(self, other)
x.__eq__(self, other)
x.__ne__(self, other)
x.__gt__(self, other)
x.__ge__(self, other)
运算符号与方法名称的对应关系如下:x<y
调用 x.__lt__(y)
、x<=y
调用 x.__le__(y)
、x==y
调用 x.__eq__(y)
、x!=y
调用 x.__ne__(y)
、x>y
调用 x.__gt__(y)
、x>=y
调用 x.__ge__(y)
。
- 一个简单的例子:
class L:
def __init__(self, a):
self._a = a
def __lt__(self, other):
return self._a < other._a
l = L(2)
t = L(1)
print(l > t)
运行结果如下:
True
Process finished with exit code 0
上述代码中self
是l
对象;