while(1)vs. while(True)—为什么会有区别(在python 2字节码中)?

while(1)vs. while(True)—为什么会有区别(在python 2字节码中)?,第1张

while(1)vs. while(True)—为什么会有区别(在python 2字节码中)?

在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 darwinType "help", "copyright", "credits" or "license" for more information.>>> True = 4>>> True4

在Python
3.x中,它确实成为关键字和实常数:

Python 3.1.2 (r312:79147, Jul 19 2010, 21:03:37) [GCC 4.2.1 (Apple Inc. build 5664)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> True = 4  File "<stdin>", line 1SyntaxError: assignment to keyword

因此,解释器可以将

while True:
循环替换为无限循环。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5644362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存