以下python代码需要说明

时间:2020-03-20 14:37:29

标签: python-3.x

下面的代码将输出什么

for i in range(5):
  continue
print(i)

由于变量不在范围内,因此上述代码为何起作用。还有为什么i的值限制为4?

2 个答案:

答案 0 :(得分:0)

它正在遍历范围[0,1,2,3,4]并且什么也不做。 “ i”是迭代器,最后一个是“ 4”,因此您正在打印它。

答案 1 :(得分:0)

该变量未超出范围。 python中的局部变量在定义该函数的任何地方都可用。如果不在函数中,则该变量具有全局作用域。之所以这样做是因为,不需要像在C或Java中那样在python中声明变量。请注意,您在函数内部使用的任何变量也可以在循环外部使用。

例如:

for foo in range(10):
    bar = 2
print(foo, bar)

这将打印9 2

关于您的第二个问题,python中的大多数东西都有包含的下限和排除的上限。也就是说,range(5)实际上是[0, 1, 2, 3, 4]
您可以通过运行print(list(range(5)))进行验证。
如果需要范围1-5,则可以使用range(1, 6)