允许python对象与数学运算符交互
我问它是因为我记得numpy使用数组。我应该添加两个包含单项式的对象允许python对象与数学运算符交互,python,python-3.x,operators,custom-operator,Python,Python 3.x,Operators,Custom Operator,我问它是因为我记得numpy使用数组。我应该添加两个包含单项式的对象 或者,是否可以创建自定义数学运算符?(就像numpy的dot产品一样)这是很有可能的。类可以包含允许对象与+和其他操作符交互的“神奇方法”。具体来说,文档的这一部分是相关的,尽管快速阅读整个文档将非常有帮助 该链接中最相关的方法: object.__add__(self, other) object.__sub__(self, other) object.__mul__(self, other) object.__matmul
或者,是否可以创建自定义数学运算符?(就像numpy的dot产品一样)这是很有可能的。类可以包含允许对象与
+
和其他操作符交互的“神奇方法”。具体来说,文档的这一部分是相关的,尽管快速阅读整个文档将非常有帮助
该链接中最相关的方法:
object.__add__(self, other)
object.__sub__(self, other)
object.__mul__(self, other)
object.__matmul__(self, other)
object.__truediv__(self, other)
object.__floordiv__(self, other)
object.__mod__(self, other)
object.__divmod__(self, other)
@
例如可以通过实现\uuuu matmul\uuu
方法来使用:
class T:
def __matmul__(self, other_t):
pass
print(T() @ T())
您不能创建该语言中尚不存在的“自定义”运算符,但可以将任何挂钩用于现有运算符。非常感谢,这非常有用!第二个问题呢,可能吗?@Giuppox查看我最近的编辑。