【Python】循环语句 ⑥ ( 变量作用域 | for 循环临时变量访问 | 分析在 for 循环外部访问临时变量的问题 | 在 for 循环外部访问临时变量的正确方式 )


for 循环的临时变量循环体外部也可以访问 , 但是不建议这么做 , 代码不够规范 ;

如果需要在外部访问 for 循环的临时变量 , 建议将该 临时变量 预定义在 for 循环的外部 , 然后在后续的所有代码中可以访问该 临时变量 ;





一、变量作用域




1、for 循环临时变量访问


下面的 for 循环中 , 临时变量 i 变量 的作用域范围 , 仅限于 for 循环语句内部 , 但是在 for 循环外部可以访问到临时变量 i ;

"""
for 循环临时变量
"""

# i 变量是 for 循环的 临时变量, 仅在 for 循环内部生效
for i in range(3):
	print(i)
# 此处不应该访问到 for 循环中的临时变量 i
# 但是此处可以访问到 临时变量 i 
print(i)

理论上说 , for 循环中的 临时变量 是 临时的 , 只在 for 循环内部生效 , 在 for 循环的外部不应该生效 ;

但是 如果在 for 循环外部 访问该临时变量 i 是可以访问的 , 上述代码的执行结果如下 :

0
1
2
2

在这里插入图片描述


2、分析在 for 循环外部访问临时变量的问题


下面分析一下上述 在 for 循环外部访问 for 循环临时变量的问题 ;

在 for 循环的外部 , 执行

print(i)

代码 , 编译器没有报错 , 但是 报了一条警告

Name 'i' can be undefined

在这里插入图片描述

在 for 循环中的

# i 变量是 for 循环的 临时变量, 仅在 for 循环内部生效
for i in range(3):
	print(i)

代码 , 运行后打印出

0
1
2

在 for 循环外的

# 此处不应该访问到 for 循环中的临时变量 i
print(i)

代码 , 运行后打印出

2

内容 , 这说明 for 循环外的 变量 i 就是 for 循环的临时变量 ;


这种用法 , 不符合规范 , 不建议使用 , 会造成代码不可维护 , 以及其它未知错误 ;

但是从编译规则上 , 这种用法并不报错 , 程序可以跑通 , 写出这种代码的就是低级程序员 ;


3、在 for 循环外部访问临时变量的正确方式


在 for 循环 之前 , 先定义变量 i , 然后在后面的代码中 , 不管是 for 循环内部 , 还是 for 循环外部 , 都可以使用该 变量 i ;


代码示例 :

"""
for 循环临时变量
"""

# 先定义临时变量
# 在后面的代码中
# 不管是 for 循环内部 , 还是 for 循环外部
# 都可以使用该 变量 i
i = 0

# i 变量是 for 循环的 临时变量, 仅在 for 循环内部生效
for i in range(3):
	print(i)

# 访问的变量 i 作用域为整个代码文件
print(i)

执行结果 :

0
1
2
2

在这里插入图片描述


  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值