gpt4 book ai didi

python - while True 还是 while 1?

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:02 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
while (1) Vs. for while(True) — Why is there a difference?

我有时在其他人的代码中看到“while 1”而不是“while True”。我认为使用 True 更像 pythonic,但我想检查是否有实践中的任何差异。

所以我尝试了以下操作,结果令人惊讶。为了什么我可以看到解释器似乎可以优化掉 1 bool 值转换虽然它不符合 True,但与我相反假设。

任何人都可以向我解释为什么会这样,或者我的结论可能是错误的?

def f1():
while 1:
pass

def f2():
while True:
pass

In [10]: dis.dis(f)
2 0 SETUP_LOOP 3 (to 6)

3 >> 3 JUMP_ABSOLUTE 3
>> 6 LOAD_CONST 0 (None)
9 RETURN_VALUE

In [9]: dis.dis(f1)
2 0 SETUP_LOOP 10 (to 13)
>> 3 LOAD_GLOBAL 0 (True)
6 POP_JUMP_IF_FALSE 12

3 9 JUMP_ABSOLUTE 3
>> 12 POP_BLOCK
>> 13 LOAD_CONST 0 (None)
16 RETURN_VALUE

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com