Python‘for’循环中的作用域我不是在问Python的范围规则,我大致理解多么,怎样范围在Pythonfor循环中工作。我的问题是为什么设计决策就是这样作出的。例如(无意使用双关语):for foo in xrange(10):
bar = 2print(foo, bar)以上将打印(9,2)。这让我觉得很奇怪:‘foo’实际上只是控制循环,‘bar’是在循环中定义的。我可以理解为什么“BAR”可能需要在循环之外进行访问(否则,循环的功能将非常有限)。我不明白的是为什么在循环退出后控制变量必须保持在范围内。根据我的经验,它只会使全局命名空间变得混乱,并使查找其他语言的解释器捕获的错误变得更加困难。
添加回答
举报
0/150
提交
取消