向量数学中的Python运算符重载
代码: 问题:是否有一种方法可以使mul操作员过载:向量数学中的Python运算符重载,python,Python,代码: 问题:是否有一种方法可以使mul操作员过载: class Vector: def __init__(self): self.x = 0.0 self.y = 0.0 def __mul__(self, scalar): v = Vector() v.x = self.x * scalar v.y = self.y * scalar return v v = Vec
class Vector:
def __init__(self):
self.x = 0.0
self.y = 0.0
def __mul__(self, scalar):
v = Vector()
v.x = self.x * scalar
v.y = self.y * scalar
return v
v = Vector()
v.x = 2
v.y = 5
v = v * 2
?使用:
当左手操作数不支持相应的操作(
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?(链接位于第一行的\uuurmul\uuuu
上)。顺便说一句,我没有提到操作员模块。哦,我好像错过了你提供的链接。再次感谢:)
v = 2 * v
def __rmul__(self, scalar): # self: right operand (Vector)
v = Vector()
v.x = self.x * scalar
v.y = self.y * scalar
return v