Python: 如何为我自己实现@运算符class
Python: How to implement the @ operator for my own class
我目前正在使用一些方法制作自己的矩阵 class 并想实现矩阵乘法。我已经看到它是在 numpy 中实现的,想问一下是否可以将它与我自己的 class 一起使用。
通过覆盖 __matmul__
方法(可能还有 __rmatmul__
)来实现 @
运算符。如果您还想支持 @=
,请覆盖 __imatmul__
。
有关详细信息,请阅读 Python data model, specifically the section on emulating numeric types。
我目前正在使用一些方法制作自己的矩阵 class 并想实现矩阵乘法。我已经看到它是在 numpy 中实现的,想问一下是否可以将它与我自己的 class 一起使用。
通过覆盖 __matmul__
方法(可能还有 __rmatmul__
)来实现 @
运算符。如果您还想支持 @=
,请覆盖 __imatmul__
。
有关详细信息,请阅读 Python data model, specifically the section on emulating numeric types。