【发布时间】:2020-04-29 22:09:29
【问题描述】:
我很好奇 Python 中“x is not True”的优先级。起初,我认为它的意思是“!= True”,但后来我认为“not True”肯定比“is not”具有更高的优先级。然而,以下似乎表明后者:
>>> 4 is not True
True
>>> not True
False
>>> 4 is False
False
>>> 4 is (not True)
False
似乎 Python 将“is not True”解释为单个表达式,而不是“is (not True)”,后者等同于“is False”。
我对 Python 编程并不陌生,但我之前没有深入思考过这一点。我可以安全地假设“is not”本身就是一个比“not True”具有更高解析优先级的运算符吗?
【问题讨论】:
-
"Is not" 本身确实是一个运算符:stackoverflow.com/questions/4485180/python-is-not-operator