当前位置: 首页 > 后端技术 > Python

SmoothPython阅读笔记---第13章运算符的正确重载

时间:2023-03-25 22:59:36 Python

最近在看《SmoothPython》这本书,想把自己的阅读笔记分享给大家,希望能帮助到也喜欢这本书的有兴趣的朋友们但没时间看。(文中大部分文字和图片摘自《SmoothPython》一书,以及python官网)章节概述:Python如何处理中缀运算符、比较运算符的特殊行为、增量赋值运算符的处理方式。章节结构:运算符重载一元运算符重载加法运算符重载向量乘法运算符中缀运算符比较运算符增量运算符具体内容:运算符重载在Python中,内置类型的运算符不能重载,不能创建运算符,只能填充现有,is,and,orandnot不支持重载一元运算符特殊方法一元运算符neg取负数,-pos取正数,+(取正数不一定等于,如decimal.Decimal实例,取正数,If精度变化,可能不相等)invertInvertintegerbitwiseinversion~x=-(x+1)重载向量加法运算符向量加法,如果维度相同,可以返回相同的维度,对应的新向量位加法,如果两个向量的维度不同,会报错overloadedvectormultiplicationoperatorvector*x:eachcomponentofthevectorwillbem乘以x,这个操作称为元素级惩罚向量*向量:矩阵乘法中缀运算符比较运算符增量运算符python中的向量支持+=&*=两种增量运算符。