python入门语法教程:for循环语句详解
上一节提到过计数控制的循环是根据绝对值的次数来进行循环,我们通过for语句来实现计数循环,那么在for循环中一定存在控制次数的对象。
1. for循环
for循环是通过次数的大小来进行循环,通常我们会使用遍历序列或枚举以及迭代来进行循环。
for循环的结构为:
12 |
for 迭代变量
in 对象:
循环体 |
迭代变量在我们每一次循环中保存根据变量得到的值,对象既是有序的序列,可以是字符串、元组、列表,也可以是无序的序列,例如字典。而循环体则为一条或若干条会被重复执行的语句。
下面是for循环可迭代的对象类型
123456789 |
index
= [
1
,
2
,
3
,
4
]
#列表
string
= 'abcdef'
#字符串
sets
= (
1
,
2
,
3
,
4
)
#集合
for i
in index:
print
(i)
for j
in string:
print
(i)
for k
in sets:
print
(i) |
我们来看一下for循环语句的执行流程图:
先定义一个循环
1 | for i
in range
(
10
) |
从流程图中来分析一下这个循环。
首先我们分析这个循环的结构,i为迭代对象,range(10)为对象,在这里这个对象为一个0-9的序列,它等价于[0,1,2,3,4,5,6,7,8,9]。
当进入这个循环,首先会判断0-9是否遍历完,如果还未开始,则从第一个开始遍历,第一次是直接进入循环体,然后再次回到判断,判断是否还有值未进入循环,如果存在,就取这一项再次进入循环体,直到序列中的对象全部遍历完,然后退出循环。
下面我们通过一个实例来学习一下:
123 |
index
= 5
for i
in range
(index):
print
(
"这是第"
,i,
'项'
) |
运行结果:
12345 |
这是第
项
这是第
1 项
这是第
2 项
这是第
3 项
这是第
4 项 |
通过这个简单的例子我们简单的认识了for循环,它的原理是根据对象中因素去决定它需要迭代多少次,迭代完成后退出循环。
在for循环中中离不开range()函数的使用,下面来了解一下range()函数。
2. range()函数
range()函数是Python内置的函数,它被用于生成一系列连续的整数,它的语法格式为:
1 | range
(start, stop[, step]) |
start:计数的第一个值,是包含这个值,如果没有start的时候默认为0。
stop:计数的最后一位,不包含这个值,当range(1,3)的时候,等同于[1,2]是没有3这个数字的,在使用的时候一定要注意这一点。当range()中只有一个数字的时候,像range(3),对应的是[0,1,2]这样一个序列,关于这点大家多多使用就会体会到。
step:为步长,用来控制取数之间的间隔,如果省略则默认为1,如果为2,3等则步长为2,3等。步长为-1时为逆序。
通过下面例子来看了解一下range函数。
1234567891011121314 |
>>>
list
(
range
(
10
))
#范围0-9
[
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
]
>>>
list
(
range
(
1
,
11
))
#范围1-10
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
]
>>>
list
(
range
(
,
30
,
5
))范围
-
29
,步长为
5
[
,
5
,
10
,
15
,
20
,
25
]
>>>
list
(
range
(
,
10
,
3
))范围
-
9
,步长为
3
[
,
3
,
6
,
9
]
>>>
list
(
range
(
,
-
10
,
-
1
))范围
-
(
-
10
),步长为
-
1
[
,
-
1
,
-
2
,
-
3
,
-
4
,
-
5
,
-
6
,
-
7
,
-
8
,
-
9
]
>>>
list
(
range
(
))
[]
>>>
list
(
range
(
1
,
))
[] |
能够熟练的使用range()函数对我们之后的学习有很大的帮助,大家可以在自己的编辑器上多多尝试一下这个函数。