Jestem nowy w Pythonie, więc przepraszam z góry, jeśli to głupie pytanie.Przeciążanie zwiększonych zadań arytmetycznych w pytonie
Do zadania potrzebuję przeciążać zwiększone przypisania arytmetyczne (+ =, - =,/=, * =, ** =,% =) dla klasy myInt. Sprawdziłem w dokumentacji Pythona i to, co wymyśliłem:
def __iadd__(self, other):
if isinstance(other, myInt):
self.a += other.a
elif type(other) == int:
self.a += other
else:
raise Exception("invalid argument")
self.a i other.a odnoszą się do int przechowywanych w każdej instancji klasy. Próbowałem testowania to w następujący sposób, ale za każdym razem mam „Brak” zamiast oczekiwanej wartości 5:
c = myInt(2)
b = myInt(3)
c += b
print c
Czy ktoś może mi powiedzieć, dlaczego tak się dzieje? Z góry dziękuję.
Wierzę, że nie ma głupich pytań .. –