3
可能性の重複:
while (1) Vs. for while(True) — Why is there a difference?Trueまたは1の間は?
"真ながら、" 私は "1ながら、" 他の人のコードで時々見る代わりに。 私はTrueを使うのがもっとpythonicだと思うが、実際には の違いがあるかどうかチェックしたかった。
私は次のことを試みました。その結果は驚くべきことです。何のために 私はそれが私が とは正反対の真ではない間に、1ブール値 変換を最適化できるように見えることがわかります。
なぜ誰かが私にそれを説明することができますか、または私の結論は間違っていますか?幸いにも
True = []
if not True:
print "oops" # :-(
のpython 3.2で、私はSyntaxError: assignment to keyword
を取得し、:残念ながら、pythonの2に私はこれを行うことができ、ため
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
おそらく実際のコードは合格しないため、実際には問題にはなりません。したがって、読みやすさを優先します。 –