gpt4 book ai didi

Python - 向量数学中的运算符重载

转载 作者:行者123 更新时间:2023-11-30 23:16:36 25 4
gpt4 key购买 nike

代码:

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

问题:有没有办法以一种可能的方式重载 mul 运算符:

v = 2 * v

最佳答案

使用__rmul__ :

def __rmul__(self, scalar):  # self: right operand (Vector)
v = Vector()
v.x = self.x * scalar
v.y = self.y * scalar
return v

__rmul__ 当左侧操作数不支持相应操作 (__mul__) 时调用。

关于Python - 向量数学中的运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27658510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com