2012-11-15 43 views

回答

6

True,就像str或其他任何内建函数一样,只是默认情况下存在于该范围中的一个名称。您可以像其他任何此类名称一样重新绑定它。

+1

实际上,OP会创建'__main __。True'。 '__builtin __。True'仍然可以访问 – jfs

+2

'None = 42'导致'SyntaxError'。为什么相同的逻辑不适用于这个名字? – martineau

+0

@martineau:它确实适用。 True/False是Python 3中的关键字。btw,你可以在Python中指定为None 2.3 – jfs

2

Python其实很少有reserved words。其余的都受到重新定义。你要小心!

+3

问题大约是2.7,但只是说在3.x中包含'True'和'False'作为保留字并且不能被定义。 – 2012-11-15 16:14:41

+0

@Mahi,这是个好消息。 –

2
>>> True = False 
False 

在上面的分配,True就像你使用任何其他变量的变量。 其范围仅限于当前范围。所以你可以像下面的例子那样给它赋值。请注意,比较2 < 3仍然打印True,因为您仍然可以访问builtin

>>> True = 3 
>>> True 
3 
>>> 2 < 3 
True 
1

打字

True = False 

您创建一个名为真正的新的变量,它的价值分配给假。

回答第二个问题,True和False是整数1和0(技术上讲,子类)的自定义版本,它们只是具有不同的字符串表示形式。