Tôi có một lớp vectơ và tôi đã xác định phương thức __mul__
để nhân một véc tơ với một số.Xác định bí danh phương thức trong Python?
Đây là __mul__
phương pháp:
def __mul__(self, other):
x = self.x * other
y = self.y * other
new = Vector()
new.set_pos((x, y))
return new
Vấn đề của tôi là tôi không biết đó là đó giữa số và vector. Nếu tự là số, self.x sẽ gây ra lỗi. (Tôi có thể nhầm lẫn ở điểm này: là "khác" luôn là một số)
Vì vậy, tôi tìm thấy ở đây: Python: multiplication override rằng tôi có thể làm:
__rmul__ = __mul__
nhưng làm thế nào tôi có thể làm điều đó trong một lớp định nghĩa?
Cái gì như:
def __rmul__ = __mul__
Có cách nào để biết người nào sẽ được gọi? –
'__mul__' trước, sau đó' __rmul__' nếu điều đó không thành công. – katrielalex
tốt hơn: hoặc "yêu cầu b nhân một (b)". Toán tử nhân không cần phải giao hoán. – glglgl