在Python 2.x中,True
它不是关键字,而只是在类型中定义为1的内置全局常量bool
。因此,解释器仍然必须加载的内容True
。换句话说,True
是可重新分配的:
Python 2.7 (r27:82508, Jul 3 2010, 21:12:11)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> True = 4
>>> True
4
在Python 3.x中,它确实成为关键字和实常数:
Python 3.1.2 (r312:79147, Jul 19 2010, 21:03:37)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> True = 4
File "<stdin>", line 1
SyntaxError: assignment to keyword
因此,解释器可以将while True:
循环替换为无限循环。