Tôi mới dùng Python nên xin lỗi trước nếu đây là một câu hỏi ngu ngốc.quá tải các phép gán số học gia tăng trong python
Để được gán, tôi cần quá tải các phép gán số học tăng cường (+ =, - =,/=, * =, ** =,% =) cho một lớp myInt. Tôi đã kiểm tra tài liệu Python và đây là những gì tôi đã đưa ra:
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 và other.a tham chiếu đến int được lưu trữ trong mỗi cá thể lớp. Tôi đã thử kiểm tra điều này như sau, nhưng mỗi khi tôi nhận được 'Không' thay vì giá trị kỳ vọng 5:
c = myInt(2)
b = myInt(3)
c += b
print c
Bất cứ ai có thể cho tôi biết tại sao điều này xảy ra? Cảm ơn trước.
Tôi tin rằng không có câu hỏi ngu ngốc .. –