<!-- TOC -->python
<!-- /TOC -->it
这里咱们看几个以前没讲过的运算符__neg__,__pos__,__invert__
class
__neg__
是在-v的时候调用object
__pos__
是在+v的时候调用co
__invert__
是在~v的时候调用data
看下面的例子:运算符
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)
返回结果:return
Vector(-1) Vector(2) Vector(-2)