〜运算符在Python中做了啥[重复]

Posted

技术标签:

【中文标题】〜运算符在Python中做了啥[重复]【英文标题】:What does the ~ operator do in Python [duplicate]〜运算符在Python中做了什么[重复] 【发布时间】:2013-09-15 12:43:26 【问题描述】:

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

>>> ~
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"

它似乎只适用于数字,所以解释和一些文档的链接会很有帮助。

【问题讨论】:

Googlemedo 我以为这叫三轮车 我在good authority 上有它的发音是“twiddle”。在other hand 上,它可能读作“select”。 为了爱你认为好的东西,你能用反对票阻止它吗?我已经明白了。 【参考方案1】:

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

【讨论】:

以上是关于〜运算符在Python中做了啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章

“^=”运算符在这个查找非成对数算法中做了啥? [复制]

^= 在 python 中做了啥[关闭]

逗号运算符在“eval()”中做了啥?

(一元)* 运算符在这段 Ruby 代码中做了啥?

运算符 -i 在 `impala-shell -i localhost` 中做了啥

~~(“双波浪号”)在 Javascript 中做了啥?