1.介绍
迭代器:
循环执行同一动作,本次循环取值依赖于上一次
1.判断一个数据是否可以迭代
2.使用一定方法执行迭代操作
拓展:
isinstance()函数判断数据对象的类型,一致时返回ture
iter()数据转为迭代对象
next()迭代对象元素访问
2.迭代的一些操作
注意
使用迭代时的引入语句:from collections import Iterable
序列是一种非常常见的可迭代类型
Python中,迭代永远是取出元素本身,而非元素的索引
(1)定义一些数据对象
(2)判断数据对象是否属于某一类型
(3)判断某种数据类型能否被迭代
代码
from collections import Iterable
#(1)定义一些不同的数据对象
var1 = 'Wen:AM'#定义字符串对象
var2 = 8.52#定义数值对象
var3 = ['Wen:AM',8.52]#定义列表对象
var4 = ('Wen:AM',8.52)#定义元组对象
var5 = {
'data':'Wen:AM',
'time':8.52
}#定义dict字典对象
#(2)isinstance()函数判断数据对象的类型,一致时返回ture
print(isinstance(var1,str))
print(isinstance(var1,list))
#(3)判断是否可以迭代
print(isinstance(var1,Iterable))
print(isinstance(var2,Iterable))#数值类型数据不可迭代
print(isinstance(var3,Iterable))
print(isinstance(var4,Iterable))
print(isinstance(var5,Iterable))
(4)迭代输出var1的值
var1Iter = iter(var1)
for temp in range(0,6):
print(next(var1Iter))
结果:(2)isinstance()函数判断数据对象的类型,一致时返回ture
结果:(3)判断是否可以迭代
结果:迭代输出var1的值
3.迭代时的异常处理
(1)异常产生的原因:
迭代输出,当迭代的次数多于被迭代序列的长度时,会报错(用异常处理解决)
(2)异常处理格式
try:
代码一
except 异常类型:
代码二
(3)案例代码
var1 = 'Wen:AM'
try:
var1Iter = iter(var1)
for temp in range(0, 6):
print(next(var1Iter))
except StopIteration:
print('迭代结束')
(4)结果
(5)使用异常处理时的注意事项
- except后不写东西表示捕获所有异常
- 如果except后写错了异常名称,则会捕获不到异常