Python中运算符重载的问题请教

Class C:
data=‘spam’
def gt(self,other):
return self.data > other


X=C()
print(X>‘ham’)

上面这段代码对运算符“>”进行了重载。我的问题是:当程序执行到“ X>‘ham’”的时候就会调用重载后的__gt__方法,
但是这个方法的 return 语句也用到了“>”运算,这为何不会导致再次调用__gt__方法,从而没完没了递归了呢?
Python中运算符重载的问题请教

3 回复

我无法理解你的问题


因为 type(self.data) == string

感谢!

回到顶部