我一直在摆弄python中的重载操作符,我遇到了一个问题。
所以我有一个类,其中包含我想要用于比较的值。
class comparison:
def __init__(self, x):
self.x = x
...
def __lt__(self,other):
return self.x < other
使运算符重载超过。我在其他方面制定了条件,例如它必须是什么类型。
一个例子是
x = comparison(2)
x < 1 #--> False
x < 3 #--> True
我的问题是如何查看比较的第一部分? 我试图将第一部分限制为特定的部分。
一个例子是
7 < x # --> I don't want the first one to be an int
答案 0 :(得分:2)
为此,您可以覆盖__gt__
方法。
class comparison:
...
def __gt__(self, other):
...
然后 7<comparison(2)
会在您可以覆盖的调用comparison(2).__gt__(7)
中进行转换。