我試圖做一個程序中使用__add __
添加矢量:「詮釋」對象有沒有屬性「X」
class vects:
def __init__(self,x,y):
self.x = x
self.y = y
def __add__(self, vect):
total_x = self.x + vect.x
total_y = self.y + vect.y
return vects(total_x, total_y)
plusv1 = vects.__add__(2,5)
plusv2 = vects.__add__(1,7)
totalplus = plusv1 + plusv2
產生的誤差如下:
line 12, in <module> plusv1 = vects.__add__(2,5)
line 7, in __add__ total_x = self.x + vect.x
AttributeError: 'int' object has no attribute 'x'
您正在使用的功能應該作爲從跟隨就我的理解你的代碼:'vects .__添加__(vects(2,5))',而不是'vects .__添加__(2,5 )'因爲__add__定義只等待1個參數,它似乎是vects類的另一個實例 – Artemis