首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以下python代码所需的解释

问以下python代码所需的解释
EN

Stack Overflow用户
提问于 2020-03-20 22:37:29
回答 2查看 20关注 0票数 0

下面的代码将输出什么

代码语言:javascript
复制
for i in range(5):
  continue
print(i)

既然这个变量超出了作用域,那么为什么上面的代码可以工作呢?另外,为什么i的值限制为4?

EN

回答 2

Stack Overflow用户

发布于 2020-03-20 22:42:52

它遍历范围,0,1,2,3,4,什么也不做。"i“是迭代器,最后一个是"4",所以你要打印它。

票数 0
EN

Stack Overflow用户

发布于 2020-03-20 22:54:40

该变量没有超出作用域。python中的局部变量在定义它的函数中随处可用。如果它不在函数中,则该变量具有全局作用域。这样做可能是因为,在python中不需要像我们在C或Java中那样声明变量。请注意,在函数内部使用的任何变量在循环外部也可用。

例如:

代码语言:javascript
复制
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)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60776241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档