python--for循环临时变量作用域

0 阅读1分钟

下面代码会输出什么(i没被定义,不高级)

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

输出如下

image.png

for循环语法回顾

image.png

临时变量作用域规范:在编程规范上,临时变量的作用范围(作用域)只限定在 for 循环内部。

外部访问临时变量的情况:

  1. 实际上是可以访问到的
  2. 在编程规范上,不允许、不建议这么做

代码改善(更高级)

i=0
for i in range(5):
    print(i)
print(i)

输出如下

image.png

for循环中的临时变量,其作用域限定为:循环内

这种规定

  1. 是编程规范的限定,而非强制限定
  2. 不遵守也能正常运行,但不建议
  3. 如果需要访问临时变量,可以预先在循环外定义它