【Python入门篇】——Python中循环语句(for循环的基础语法)

简介: 【Python入门篇】——Python中循环语句(for循环的基础语法)

1. for循环的基础语法

1.1 基础语法

除了while循环语句外,Python同样提供了for循环语句。

两者能完成的功能基本差不多,但仍有一些区别:

while循环的循环条件是自定义的,自行控制循环条件

for循环是一种”轮询”机制,是对一批内容进行”逐个处理

for循环流程图

for循环就是将”待办事项”逐个完成的循环机制

for循环的格式:


从待处理数据集中:逐个取出数据,赋值给临时变量

遍历字符串

name = "itheima"
# 定义字符串name
for x in name:
    # 将name的内容,挨个取出赋予x临时变量
    # 就可以在循环体内对x进行处理
    print(x)


打印结果:

可以看出,for循环是将字符串的内容:依次取出

所以,for循环也被称之为:遍历循环


for循环注意点

同while循环不同,for循环是无法定义循环条件的。

只能从被处理的数据集中,依次取出内容进行处理。

所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)

总结:

  1. for循环的语法格式是:
  2. for循环的注意点
  • 无法定义循环条件,只能被动取出数据处理
  • 要注意,循环内的语句,需要有空格缩进


练习:统计字符串中,有多少个字母a

# 定义字符串穿
name = "itheima is a brand of itcast"
# 定义一个变量,用来统计有多少个a
count = 0
# for 循环统计
# for 临时变量 in 被统计的数据:
for x in name:
    if x == "a":
    # 通过if判断变量是否等于a,等于a时count+1
        count += 1
print(f"被统计的字符串中有{count}个a")


1.2 range语句


语法中的:待处理数据集,严格来说,称之为:可迭代类型

可迭代类型指,其内容可以一个个依次取出的一种类型,包括:

  • 字符串
  • 列表
  • 元组等

目前我们只学习了字符串类型,其余类型在后面会详细学习它们


for循环语句,本质上是遍历:可迭代对象。

尽管除字符串外,其它可迭代类型目前没学习到,但不妨碍我们通过学习range语句,获得一个简单的数字序列(可迭代类型的一种)。

range语句就是可以帮我们去生成数字序列的


语法1:

range(num)


获取一个从0开始,到num结束的数字序列(不含num本身)

如range(5)取得的数据是:[0, 1, 2, 3, 4]


语法2:

range(num1,num2)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]

语法3:

range(num1, num2, step)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

数字之间的步长,以step为准(step默认为1)

如,range(5, 10, 2)取得的数据是:[5, 7, 9]


用for循环遍历range序列

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

运行结果:



总结:

  1. range语句的功能是:
    获得一个数字序列(可迭代类型的一种)
  2. range语句的语法格式:
    语法1:range(num)
    语法2:range(num1,num2)
    语法3: range(num1, num2, step)
  3. range语句的注意事项:语法1从0开始,到num结束(不含num本身)语法2从num1开始,到num2结束(不含num2本身)语法3从num1开始,到num2结束(不含num2本身),步长以step值为准range的用途很多,多数用在for循环场景


1.3 变量作用域

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

为什么是临时的呢?

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

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


实际上是可以访问到的

在编程规范上,是不允许、不建议这么做的


如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义

如图,每一次循环的时候,都会将取出的值赋予i变量。

  • 由于i变量是在循环之前(外)定义
  • 在循环外访问i变量是合理的、允许的


总结;

  1. for循环中的临时变量,其作用域限定为:
    循环内
  2. 这种限定:
    是编程规范的限定,而非强制限定
    不遵守也能正常运行,但是不建议这样做
    如需访问临时变量,可以预先在循环外定义它

好了关于【Python入门篇】Python中循环语句(for循环的基础语法),七七今天就先分享到这里,如果这篇文章对大家有帮助,请佬佬们点个赞再走吧!如果发现什么问题,欢迎评论区留言!💕💕


目录
相关文章
|
4天前
|
索引 Python
python语法错误赋值错误
【7月更文挑战第10天】
11 6
|
2天前
|
IDE JavaScript 前端开发
python语法错误(SyntaxError)
【7月更文挑战第12天】
17 10
|
4天前
|
Python
python语法错误类型错误
【7月更文挑战第10天】
15 7
|
5天前
|
IDE 开发工具 Python
python语法错误关键字使用错误
【7月更文挑战第9天】
14 6
|
5天前
|
Python
python语法错误逗号错误
【7月更文挑战第9天】
9 4
|
4天前
|
IDE 开发工具 Python
python语法错误导入错误
【7月更文挑战第10天】
8 1
|
5天前
|
Python
python语法错误变量未定义
【7月更文挑战第9天】
8 1
|
6天前
|
IDE 开发工具 Python
python语法中括号不匹配处理
【7月更文挑战第8天】
13 2
|
6天前
|
SQL 数据库 开发者
【Python】已解决:pymssql._pymssql.OperationalError 关于关键字‘distinct’的语法错误
【Python】已解决:pymssql._pymssql.OperationalError 关于关键字‘distinct’的语法错误
11 1
|
5天前
|
JavaScript 前端开发 Java
python结构化模式匹配switch-case,Python 3.10中引入,Python的模式匹配(pattern matching)语法
python结构化模式匹配switch-case,Python 3.10中引入,Python的模式匹配(pattern matching)语法