Python代码:
for i in xrange(10):
for j in xrange(5):
pass
# The for-loop ends, but i,j still live on
print i,j # 9, 4C代码:
for(int i=0; i<=10; i++)
for(int =0; j<=5; j++)
;
// The for-loop ends, so i,j can't be accessed, right?
printf("%d, %d", i, j); // won't compile那么,Python中的变量即使在for循环结束后也会继续存在吗?
发布于 2012-04-16 08:51:05
在Python中,只有函数、模块和类定义的主体描述了作用域。其他控制结构则不需要。
有关这方面的一些基本信息,请参阅Python教程的Classes页面的Python Scopes and Namespaces部分。一个重要的部分:
虽然作用域是静态确定的,但它们是动态使用的。在执行过程中的任何时候,至少有三个嵌套作用域的命名空间可以直接访问:
<
https://stackoverflow.com/questions/10167521
复制相似问题