〜运算符在Python中做了什么

时间:2013-09-11 13:07:27

标签: python python-2.7

这是我尝试理解它的作用:

>>> ~
SyntaxError: invalid syntax
>>> print ~
SyntaxError: invalid syntax
>>> ~ = cheese
SyntaxError: invalid syntax
>>> ~ = "21"
SyntaxError: invalid syntax
>>> 2 ~ 1
SyntaxError: invalid syntax
>>> ~ = "w"
SyntaxError: invalid syntax
>>> a = "w"
>>> a
'w'
>>> print ~8
-9
>>> print ~w

Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    print ~w
NameError: name 'w' is not defined
>>> print ~"w"

它似乎只适用于数字,因此解释和链接到某些文档会非常有用。

1 个答案:

答案 0 :(得分:7)

~是一元运算符(即它只需要一个参数),它计算其参数的bitwise inverse。结果为-x - 1,因为在Two's complement表示中,-x与反转所有位然后添加一位相同。