Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何超载”@&引用;python中的运算符?_Python_Python 3.x_Operator Overloading - Fatal编程技术网

“如何超载”@&引用;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
重载其反射版本