<!-- 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)