python - python中的逻辑悖论?

标签 python

我遇到了这个问题,其中“not None”同时等于 True 和 False。

>>> not None
True

>>> not None == True
True

>>> not None == False
True

起初我预计这是因为运算符的顺序,但是当测试类似的表达式时:

>>> not False
True

>>> not False == False
False

>>> not False == True
True

谁能解释为什么会这样?

最佳答案

由于运算符的优先级。 not none == True 表示not (None == True) 表示None != True,为真。同样,None != False 也为真。值 None 与 bool 值不同。

最后两个表达式的意思是 False != False 是假的,False != True 是真的。

关于python - python中的逻辑悖论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6520193/

相关文章:

python - 自动化 Excel 从 Python 获取 "TypeError: ' unicode' 对象不可调用“在 Range.Address 上

python - 将可调用对象隐式绑定(bind)到实例

python - Pandas 按销售项目分组并统计列中每月的销售额

python - Hadoop流式访问目录中的文件

python - 在python中解析旧的excel xml

python - python中heapq.merge的时间复杂度是多少?

python - 将不同的列值堆叠到 Pandas 数据框中的一列中

python - 权限被拒绝 : 'geckodriver.log' while running selenium webdriver in python

python - 什么是 virtualenv,我为什么要使用它?

python - 如何使用 OpenCV Python 显示图像的轮廓?