将Python中的布尔值与==
进行比较。但是,当我申请布尔not
操作,结果是一个语法错误:为什么'True == not False'是Python中的语法错误?
Python 2.7 (r27:82500, Sep 16 2010, 18:02:00)
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> True == True
True
>>> False == False
True
>>> True is not False
True
>>> True == not False
File "<stdin>", line 1
True == not False
^
SyntaxError: invalid syntax
>>>
为什么这是一个语法错误?我期望not False
是一个返回布尔值的表达式,并且True == <x>
在<x>
是具有有效语法的表达式时是有效的语法。
注意,说:“真不假”是*不*同为“真正的(不假)”。 “不是”是一个独特的运算符,意思是“不相同”,而“真(非)”读作“真与否是假的相同”。只是一句话,因为你的榜样似乎就像你会假设的那样,两者都是一样的。 – lunaryorn 2011-05-23 17:12:41
'True == not'是实际的语法错误,之后的任何内容都是不相关的。 – dansalmo 2013-12-28 23:39:26
并且对于记录来说,无论比较的类型是**,任何**比较运算符都加上'not',**都会失败。 'True not'False'','3.3> = not 4.5','{}不是[]','set()== not None'和'slice()!= not lambda:x' ** all **引发相同的语法错误。这不仅限于'== not'和布尔值。 –
2014-01-31 17:12:15