除了按位否定运算之外,“~”在 python 中还有啥作用? [复制]

Posted

技术标签:

【中文标题】除了按位否定运算之外,“~”在 python 中还有啥作用? [复制]【英文标题】:What does "~" do in python besides being a bitwise negation op? [duplicate]除了按位否定运算之外,“~”在 python 中还有什么作用? [复制] 【发布时间】:2018-11-13 21:38:01 【问题描述】:

我已经看到它在几个项目中与 yield 和 Deferred 一起使用,如下所示:yield ~ some_fun()。有时它可以在没有~ 位的情况下工作,有时则不能。无法弄清楚它实际上做了什么,帮助。

【问题讨论】:

有点模糊。为什么不提供示例说明在没有~ 的情况下什么时候可以工作,什么时候不可以? 【参考方案1】:

检查被“反转”的类是否有 __invert__(self) 方法,如果有,则覆盖波浪号运算符。

【讨论】:

以上是关于除了按位否定运算之外,“~”在 python 中还有啥作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

python波浪号一元运算符作为否定numpy bool数组

python编程基础之九

Python_02_运算符_while_print

python-opencv-图像的按位运算

缩短按位方程

C 语言 运算符表