130 字
1 分钟
第13章 正确重载运算符
第13章 正确重载运算符
[toc]
##几个不常用的运算符
这里我们看几个之前没讲过的运算符__neg__,__pos__,__invert__
__neg__是在-v的时候调用__pos__是在+v的时候调用__invert__是在~v的时候调用
看下面的例子:
class Vector(object): def __init__(self, x): self.x = x
def __neg__(self): return "Vector(%d)" % (-self.x)
def __str__(self): return "Vector(%s)" % (str(self.data))
def __iter__(self): return iter(self.data)
def __pos__(self): return "Vector(%d)" % (self.x + 1)
def __invert__(self): return "Vector(%d)" % (~self.x)
if __name__ == "__main__":
v = Vector(1)
print(-v) # Vector(-1) print(+v) # Vector(2) print(~v) # Vector(-2)返回结果:
Vector(-1)Vector(2)Vector(-2)相关阅读
本主题其他内容
Python
本主题共 31 篇 ·
Python 专题 →
Python 学习与实战笔记:语言核心特性与惯用写法、标准库常用模块、数据分析与爬虫实践、自动化运维脚本编写,以及虚拟环境与依赖管理的工程化经验。