ベクトル クラスがあり、ベクトル__mul__
に数値を掛けるメソッドを定義しました。
__mul__
メソッドは次のとおりです。
def __mul__(self, other):
x = self.x * other
y = self.y * other
new = Vector()
new.set_pos((x, y))
return new
私の問題は、数値とベクトルのどちらがどちらであるかがわからないことです。self が数値の場合、self.x はエラーを発生させます。(私はおそらくこの点を誤解しています:「その他」は常に数字ですか?)
だから私はここで見つけました: Python: 私ができる乗算オーバーライド:
__rmul__ = __mul__
しかし、クラス定義でそれを行うにはどうすればよいですか?
何かのようなもの :
def __rmul__ = __mul__