我在 Python 中使用魔术函数(运算符重载)时才知道对于特定的运算符 Python 给出了特定的答案
class over:
def __init__(self,x):
self.x=x
def __add__(self,other):
return over(self.x+other.x)
ob1=over(20)
ob2=over(30)
ob3=over(40)
ob4=ob1+ob2+ob3 #It Is adding All three
print(ob4.x) # This Gave Me answer As 90
但是当我使用另一个魔术函数,例如 Greater Then ( gt ) 时,它只是添加了最后两个值,即 ob2 和 ob3
class over:
def __init__(self,x):
self.x=x
def __gt__(self,other):
return over(self.x+other.x)
ob1=over(20)
ob2=over(30)
ob3=over(40)
ob4=ob1>ob2>ob3 # This Is Just Adding Ob2 and Ob3
print(ob4.x) #Result:70
我想通过使用gt获得第一个代码中的结果 90