2024-04-19 08:42:36 发布
网友
该代码给出输出1-9,而不受i+=5的影响:
for i in range(1, 10): print(i) i += 5
虽然这段代码给出了i增加5的输出:
for i in range(1, 10): print(i) i += 5 print(i)
你能解释一下这种行为吗?你知道吗
在python for循环中,i是next(iterable object)。你知道吗
i
next(iterable object)
每次在每个循环中用next(range(5))初始化i。你知道吗
next(range(5))
您可以在下面的示例中检查相同的行为
>>> for i in range(5): print(i) i+=5 # Here it is adding `5` but it is re-initialized with `next(range(5))` 0 # so that it is printing re-initialized value. 1 2 3 4 >>> for i in range(5): i+=5 print(i) 5 6 7 8 9
在python for循环中,
i
是next(iterable object)
。你知道吗每次在每个循环中用
next(range(5))
初始化i
。你知道吗您可以在下面的示例中检查相同的行为
相关问题 更多 >
编程相关推荐