“如何超载”@&引用;python中的运算符?
如何重载“如何超载”@&引用;python中的运算符?,python,python-3.x,operator-overloading,Python,Python 3.x,Operator Overloading,如何重载@运算符 我知道我们可以通过实现\uuuu add\uuuu,\uu mul\uuuu等方法来重载+/code>,*等操作符,但是@的等价物是什么?操作符是在python 3.5中引入的,以方便矩阵乘法(请参阅) 如PEP定义所示,@运算符可以使用\uuuu matmul\uuuu重载,因为它最初用于执行matrixmul应用程序 class foo: def __init__(self, A): self.A = A def __matmul___(s
@
运算符
我知道我们可以通过实现
\uuuu add\uuuu
,\uu mul\uuuu
等方法来重载+/code>,*
等操作符,但是@
的等价物是什么?
操作符是在python 3.5中引入的,以方便矩阵乘法(请参阅)
如PEP定义所示,@
运算符可以使用\uuuu matmul\uuuu
重载,因为它最初用于执行matrixmul应用程序
class foo:
def __init__(self, A):
self.A = A
def __matmul___(self, B):
# some operations on self.A and B
return ...
与任何其他操作符一样,您可以使用\uu imatmul\uuu
重载其就地版本@
,也可以使用\uu rmatmul\uu
重载其反射版本在python 3.5中引入@
操作符以促进矩阵乘法(请参阅)
如PEP定义所示,@
运算符可以使用\uuuu matmul\uuuu
重载,因为它最初用于执行matrixmul应用程序
class foo:
def __init__(self, A):
self.A = A
def __matmul___(self, B):
# some operations on self.A and B
return ...
与任何其他操作符一样,您可以使用\uu imatmul\uu
重载其就地版本@=
,也可以使用\uu rmatmul\uu
重载其反射版本