2024-05-14 00:34:09 发布
网友
我不理解这段代码的工作原理:
i = 1 while False: if i % 5 == 0: break i = i + 2 print(i)
什么是while False?什么是假的?我不明白。。。
while False
在每次迭代之前,while loop检查while后面的条件(好吧,表达式),当条件为False时停止执行循环体。
while
False
所以while False意味着循环体永远不会执行。循环中的所有内容都是“死代码”。Python-3.x将进行到“优化”这个while循环的程度,因为:
def func(): i = 1 while False: if i % 5 == 0: break i = i + 2 print(i) import dis dis.dis(func)
给出以下信息:
Line Bytecode 2 0 LOAD_CONST 1 (1) 3 STORE_FAST 0 (i) 7 6 LOAD_GLOBAL 0 (print) 9 LOAD_FAST 0 (i) 12 CALL_FUNCTION 1 (1 positional, 0 keyword pair) 15 POP_TOP 16 LOAD_CONST 0 (None) 19 RETURN_VALUE
这意味着编译后的函数甚至不知道有一个while循环(第3-6行没有指令!),因为不可能执行while循环。
while True:
意味着它将永远循环。
while False:
意味着它不会执行。
它是说,如果有什么不真实的事情,就这样做。例如:
while (0 == 1) == False: # this statement is true because 0 does not equal 1 print('hi') # this will create a infinite loop of hi.
与此同时。
while (0 == 0) == False: # this statement is false since 0 does equal 0. print('hi') # this will do nothing since the past statement is false.
在每次迭代之前,while loop检查
while
后面的条件(好吧,表达式),当条件为False
时停止执行循环体。所以
while False
意味着循环体永远不会执行。循环中的所有内容都是“死代码”。Python-3.x将进行到“优化”这个while
循环的程度,因为:给出以下信息:
这意味着编译后的函数甚至不知道有一个
while
循环(第3-6行没有指令!),因为不可能执行while
循环。意味着它将永远循环。
意味着它不会执行。
它是说,如果有什么不真实的事情,就这样做。例如:
与此同时。
相关问题 更多 >
编程相关推荐