【python】变量作用域

目录:

  • while 循环的基础语法
  • while 循环的基础案例
  • while 循环的嵌套应用
  • while 循环的嵌套案例
  • for 循环的基础语法
  • for 循环的嵌套应用
  • 循环中断:break 和 continue
  • 综合案例

目录

  • for 循环的基础语法
    • 基础语法
    • range语句
    • 变量作用域

思考

python 复制代码
for i in range(5):
    print(i)

print(i)

如图代码,思考一下:

最后一句的 print 语句,能否访问到变量 i?

规范上:不允许
实际上:可以

for 循环的变量作用域

python 复制代码
for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码

回看 for 循环的语法,我们会发现,将从数据集(序列)中取出的数据赋值给:临时变量

为什么是临时的呢?

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

如果在 for 循环外部访问临时变量:

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

演示:

python 复制代码
"""
演示 Python for 循环临时变量的作用域
"""

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

print(i)

输出结果:

0

1

2

3

4

4

建议这样操作:

python 复制代码
i = 0
for i in range(5):
    print(i)

print(i)

规范,优雅。

总结:

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

循环内

  1. 这种限定:
  • 是编程规范的限定,而非强制限定
  • 不遵守也能正常运行,但是不建议这样做
  • 如需访问临时变量,可以预先在循环外定义它
相关推荐
程序员三藏14 分钟前
Selenium无法定位元素的几种解决方案
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
前端小趴菜~时倾16 分钟前
自我提升-python爬虫学习:day04
爬虫·python·学习
小罗和阿泽17 分钟前
接口测试系列 接口自动化测试 pytest框架(三)
开发语言·python·pytest
毕设源码-邱学长7 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°8 小时前
PHP框架漏洞
开发语言·php
猿界零零七8 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
炸膛坦客8 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生9 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客10 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲10 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试