Tengo una clase vectorial y definí el método __mul__
para multiplicar un vector por un número.¿Definir alias de método en Python?
Aquí es el método __mul__
:
def __mul__(self, other):
x = self.x * other
y = self.y * other
new = Vector()
new.set_pos((x, y))
return new
Mi problema es que no sé que es lo que entre el número y el vector. Si self es el número, self.x provoca un error. (Estoy confundiendo quizás en este punto:? Es "otro" siempre un número)
así que encontré aquí: Python: multiplication override que podía hacer:
__rmul__ = __mul__
pero ¿cómo puedo hacer que en una definición de clase?
Algo así como:
def __rmul__ = __mul__
¿Hay alguna manera de saber cuál se llamará? –
'__mul__' primero, luego' __rmul__' si eso falla. – katrielalex
mejor: o "diga b para multiplicar a por sí mismo (b)". El operador de multiplicación no tiene que ser conmutativo. – glglgl