波浪线(波浪线)(即“~”运算符在 Python 中的作用是啥? [复制]
Posted
技术标签:
【中文标题】波浪线(波浪线)(即“~”运算符在 Python 中的作用是啥? [复制]【英文标题】:What does the squiggle (tilde) i.e. `~` operator do in Python? [duplicate]波浪线(波浪线)(即“~”运算符在 Python 中的作用是什么? [复制] 【发布时间】:2012-07-31 16:30:25 【问题描述】:可能重复:The tilde operator in Python
波浪线,即~
运算符在 Python 中的作用是什么?
(对于大多数人来说,这可能是 Python 101,但我在代码中遇到了 ~
并且不知道它是什么,我花了很多研究才弄明白,所以希望这个 Q&A 可以帮助某人在路上。)
【问题讨论】:
一般来说,寻找这类东西的地方直接在语言参考中。 它“翻转”整数值的位。在 C、C++、Java 等中存在相同的运算符。 确实,这是我做的第一件事。我在 python 文档中搜索了 ~ 。结果一无所获。我认为波浪线字符与搜索混淆。 但是,为什么你认为它会在 SO 上找到那个标题? ;) 为了帮助找出用 google 搜索的标点符号,您可以在提示符处键入help('~')
之类的内容。这会打开一个表,搜索 ~
会发现它是一个“按位非”运算符。之后,搜索就很容易了。
【参考方案1】:
这是unary bitwise invert operator。
一元
~
(反转)运算符产生其普通或长整数参数的按位反转。x
的位反转定义为-(x+1)
。它仅适用于整数。
【讨论】:
以上是关于波浪线(波浪线)(即“~”运算符在 Python 中的作用是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章