以下无限循环有什么作用?

Cod*_*man -1 python infinite-loop

while 1:1
Run Code Online (Sandbox Code Playgroud)

上面代码的输出是什么?有没有办法检查上面的循环是做什么或什么都没有?一种方法是在while循环体中输入print语句,如:

while 1:
  1
  print "2"
Run Code Online (Sandbox Code Playgroud)

但是,如果没有在while循环体中输入任何新内容,我们可以检查循环是否至少在做某事吗?

glg*_*lgl 5

你可以这样检查:

>>> def f():
...   while True: 42
... 
>>> 
>>> import dis
>>> dis.dis(f)
  2           0 SETUP_LOOP              10 (to 13)
        >>    3 LOAD_GLOBAL              0 (True)
              6 POP_JUMP_IF_FALSE       12
              9 JUMP_ABSOLUTE            3
        >>   12 POP_BLOCK           
        >>   13 LOAD_CONST               0 (None)
             16 RETURN_VALUE        
>>> 
Run Code Online (Sandbox Code Playgroud)

所以你可以看到,它除了循环之外什么都不做.

我很惊讶,说实话,它甚至没有在某处加载给定的值.