假设我想使用__mul__
方法定义一个类,例如:
class A():
def __init__(self,*arg,**kwarg):
#some code
def __mul__(self,other):
#some code
如果我A()*2
会给我一个结果。但是,当我尝试另一种方法(2*A()
)时,它不起作用。
有没有办法在操作周围实现这种其他方式?
答案 0 :(得分:5)
您将使用object.__rmul__(self, other)
:
class A():
def __init__(self, *arg, **kwarg):
#some code
def __mul__(self, other):
#some code
def __rmul__(self, other):
return self * other