python中加法运算符的重载,Python方法重载_1

  python中加法运算符的重载,Python方法重载

  我们想知道数字的和,只要通过就可以了。这是我们做题经常用到的一个符号。但是在python中不能直接使用。我们需要一些代码或者函数来帮助我们实现对象的添加。那么实现加法需要什么呢?边肖在这里告诉你关于运营商超载。可能有人对这个长词不熟悉,我们继续深入研究一下。

  支持Python运算符重载。“运算符重载”实际上是一个简单的概念。你有没有想过为什么Python允许你用“”运算符同时实现字符串的加法和串联?这就是运算符重载正在做的事情。

  您可以定义使用Python标准运算符符号的对象,这允许您在特定环境中使用特定对象。

  关于Python运算符重载的规则:

  内置类型的运算符不能重载。

  不能新建,只能重载。

  有些运算符不能重载-是、与、或与非。

  Python操作实际上是通过调用对象的特殊方法来实现的,比如a b:

  a=20

  b=30

  c=a b

  d=a.__add__(b)

  打印( c: ,c)

  打印( d: ,c)操作结果:

  c:50

  d:50

  用于乘法的向量的重载是类似的:

  def__mul__(自身,标量):

  ifisinstance(标量,数字。Real):

  return vector(n * scalarforninself)

  else:

  returnNotImplemented

  def__rmul__(自身,标量):

  returnself *标量

  注意这里我们的值定义了一个向量乘以一个数的乘积。试试点乘。矩阵乘法被分配给@符号。我们也可以这样定义,然后操作。

  def__matmul__(自己,其他):

  尝试:

  returnsum(a*bfora,binzip(self,other))

  exceptTypeError:

  returnNotImplemented

  def__rmatmul__(自己,其他):

  return self @ other # thisonlyworksinpython 3.5

  借助运算符重载,我们不仅可以实现加法,还可以实现乘法。当然,运算符重载在我们所熟悉的字符串连接中也扮演着重要的角色。感兴趣的朋友看完文章也可以试试。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: