for语句
for 循环会访问一个可迭代对象中的所有元素,并在所有条目都处理过后结束循环。
它可以遍历序列成员,可以用在列表解析和生成器表达式中,它会自动地调用迭代器 next() 方法,捕获StopIteration异常并结束循环(所有这一切都是在内部发生的)。
语法如下:
for iter_var in iterable:
suite_to_repeat
每次循环,iter_var 迭代变量被设置为可迭代对象(序列、迭代器或其他支持迭代的对象)的当前元素,提供给suite_to_repeat 语句块使用.
用我的话说:可迭代对象(iterable )中的元素按某一顺序依次赋值给迭代变量(iter_var),然后用被赋值的迭代变量依次去执行代码块代码块(suite_to_repeat)。
下图可简单说明for语句循环的执行过程:
1、for语句用于序列类型的三种形式
(1)使用序列的项进行迭代
源文件:
#tool对象遍历(一个个的拿出来)stationery序列中的元素
stationery = ['Pencil', 'pen', 'rubber', 'notebook']
for tool in stationery:
print('当前文具是:', tool)
执行结果:
当前文具是: Pencil
当前文具是: pen
当前这个文具是: rubber
当前文具是: notebook
(2)使用序列的索引进行迭代
①当序列为字符串时
源文件:
strs = "Hello World."
print(strs)
print(len(strs)) #len() 方法返回对象(字符、列表、元组等)长度或项目个数
#range() 函数可创建一个整数列表
print(range(len(strs)))
print('*'*20)
print(strs[0],end = " ")
print(strs[1],end = " ")
print(strs[2],end = " ")
print(strs[3],end = " ")
print(strs[4],end = " ")
print(strs[5],end = " ")
print(strs[6],end = " ")
print(strs[7],end = " ")
print(strs[8],end = " ")
print(strs[9],end = " ")
print(strs[10],end = " ")
print(strs[11])
print('*'*20)
for i in range(len(strs)):
print(strs[i],end = " ")
执行结果:
Hello World.
12
range(0, 12)
********************
H e l l o W o r l d .
********************
H e l l o W o r l d .
②当序列为列表时
源文件:
list = [9,8,2,7,3,5]
print(list)
print(len(list))
print(range(len(list)))
for i in range(len(list)):
print(list[i],end = " ")
</