0
我相信這個問題,並試圖找到它的解決方案,但我無法。 任何幫助?謝謝如何通過overide __add__方法添加2個類的對象?
我相信這個問題,並試圖找到它的解決方案,但我無法。 任何幫助?謝謝如何通過overide __add__方法添加2個類的對象?
這裏是一個非常蹩腳的例子...
class A(object):
def __init__(self, value):
self.value = value
def __add__(self, other):
return A(self.value + other.value)
a = A(1)
b = A(2)
c = a + b
print c.value # 3
最終,這幾乎是如何所有方式工作,所以鉤子將是有利試着去了解它。您可以在類上定義方法,不管它返回的是操作的結果。想起來了另一種方式是:
c = a + b
是一回事c = type(a).__add__(a, b)
這是不太整個故事 - 有一些真正有趣的(並且也是重要知道)的東西,你可以用NotImplemented
和__radd__
等做的東西。但先把這個部分先移動到那部分之前...
我會說RTFM,但問題似乎包含它的答案:簡單地重寫它。 – Math