这是一个创建于 2468 天前的主题,其中的信息可能已经有所发展或是发生改变。
Class C:
data='spam'
def __gt__(self,other):
return self.data > other
X=C()
print(X>'ham')
上面这段代码对运算符“>”进行了重载。我的问题是:当程序执行到“ X>'ham'”的时候就会调用重载后的__gt__方法,
但是这个方法的 return 语句也用到了“>”运算,这为何不会导致再次调用__gt__方法,从而没完没了递归了呢?
2 条回复 • 2017-08-10 00:05:07 +08:00
|
|
1
Morriaty 2017-08-09 22:34:13 +08:00
因为 type(self.data) == string
|
|
|
2
saximi 2017-08-10 00:05:07 +08:00
感谢!
|