Tensorflow Python API 中重载的运算符

Tensorflow Python API 中重载的运算符

1

Python 运算符操作名
__neg__unary -
__abs__abs()
__invert__unary ~
__add__binary +
__sub__binary -
__mul__binary elementwise *
__floordiv__bmary //
__truediv__binary /
__mod__binary %
__pow__binary **
__and__binary &
__or__binary |
__xor__binary ^
__lt__binary <
__le__binary <=
__gt__binary >
__ge__binary <=
__matmul__binary @

  1. 保罗·加莱奥内. Tensorflow 2.0神经网络实践[M]. 机械工业出版社, 2020-07-01. ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python运算符重载是指通过特殊方法来定义自定义对象的操作。通过重载运算符,我们可以使用Python内置的运算符来执行自定义对象的特定操作。例如,我们可以通过重载"+"运算符来实现两个向量的相加操作。 在Python运算符重载是通过定义特殊方法来完成的。这些特殊方法具有特定的命名规则,以表示相应的运算符。例如,要重载"+"运算符,我们需要定义一个名为`__add__`的特殊方法。 下面是一个示例,演示了如何在Vector类重载"+"运算符: ```python class Vector: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): if isinstance(other, Vector): return Vector(self.x + other.x, self.y + other.y) else: raise TypeError("Unsupported operand type(s) for +: 'Vector' and '{}'".format(type(other))) ``` 在上述示例,我们定义了一个名为`__add__`的特殊方法,用于重载"+"运算符。该方法接受两个参数,self表示当前对象,other表示另一个操作数。在方法体,我们首先检查other是否为Vector类型的对象,然后执行相应的向量相加操作。如果other不是Vector类型的对象,则引发TypeError。 通过这种方式,我们可以使用"+"运算符对两个Vector对象进行相加操作,例如: ```python v1 = Vector(3, 4) v2 = Vector(5, 6) result = v1 + v2 print(result.x, result.y) # 输出:8 10 ``` 除了"+"运算符Python还支持其他运算符重载,如"-"、"*"、"/"等。通过定义相应的特殊方法,我们可以为自定义对象定义这些运算符的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值