Python 布尔比较:False == not(True) SyntaxError

Python boolean comparison: False == not(True) SyntaxError

以下表达式的计算结果为 True

In [1]: not(True) == False
Out[2]: True

但是,改变求值顺序returns一个奇怪的结果!

In [3]: False == not(True)
  File "<stdin>", line 1
    (False == not(True))
                ^
SyntaxError: invalid syntax

我做错了什么?

您必须使用以下代码:

>>> False == (not True)
True
>>> 

因为代码运行是从左到右的,所以会先运行 False == not也就是SyntaxError.

>>> False == not
SyntaxError: invalid syntax
>>>