流畅的Python读书笔记 --- 第十三章 正确重载运算符

近期在读“流畅的Python”这本书,想把自己的读书笔记分享给大家,希望能帮到也对这本书感兴趣但是没时间看的各位。(文章中大部分的话和图片摘录总结自“流畅的Python”一书,以及python官方网站)

章节概述::Python如何处理中缀运算符,比较运算符的特殊行为以及增量赋值运算符的处理方式。
章节结构:

  • 运算符重载
  • 一元运算符
  • 重载向量加法运算符
  • 重载向量乘法运算符
  • 中缀运算符
  • 比较运算符
  • 增量运算符

具体内容:

  • 运算符重载

Python中不能重载内置类型的运算符,不能新建运算符,只能充在现有的,is,and,or和not不支持重载

  • 一元运算符
特殊方法 一元运算符
neg 取负,-
pos 取正,+ (取正不一定都相等,比如decimal.Decimal实例,取正,精度变化则有可能不等)
invert 整数按位取反 ~x = -(x+1)
  • 重载向量加法运算符

向量相加,如果维度相同,则可以返回同样维度,对应位相加的新向量,如果两个向量维度不同则报错

  • 重载向量乘法运算符

vector*x: 向量每个分量都会乘以x,这种运算叫元素级惩罚
vector*vector:矩阵乘法

  • 中缀运算符

流畅的Python读书笔记 --- 第十三章 正确重载运算符_第1张图片

  • 比较运算符

流畅的Python读书笔记 --- 第十三章 正确重载运算符_第2张图片

  • 增量运算符

python中vector支持+= & *=两个增量运算符。

你可能感兴趣的:(python,读书笔记)