我遇到了这个问题,其中“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/