目标:
1:为什么学习迭代器
2:知道什么是可迭代对象
3:掌握利用 isinstance()方法检测对象是否可迭代
4:初识迭代器
一:为什么学习可迭代对象(迭代器)
答:因为学习迭代器是为了学习生成器,学习生成器是为了学习协程!
二:什么是可迭代对象
答:可迭代对象就是可以被for循环遍历的对象,因此可迭代也称为可遍历
可迭代(遍历)对象举例:列表、元组、字典、字符串、range()
不可迭代对象举例:自定义类对象(不包括内含迭代器的类对象)、函数、整数(int)
注意事项:遍历字典默认遍历的字典的key值
可迭代判断截图:
三:判断对象是否可迭代的方法
方法:isinstance(判断对象,Iterable)
判断实例:bool = isinstance(判断对象,Iterable)
注意事项:
1:在利用isinstance(判断对象,Iterable)方法判断对象是否可迭代时,要先导入collections模块内的Iterable类!!,即 from collections import Iterable语句 ,否则程序报错
2:Iterable是一个可迭代对象类,isinstance()判断方法就是判断目标对象是否为Iterable类的一个子类
3:判断对象是可迭代对象返回 True,不是返回 False
4:默认的自定义类对象是不可迭代的,但是如果类中含有iter( ) 方法,那么这个类创建的对象就是可迭代的,其中iter( ) 方法也称为迭代器
快速代码体验:
四:初识迭代器 (iter( )魔法方法)
概念:类默认是不可迭代对象,但是在类中如果含有iter( ) 这个方法,那么这个类创建的对象就是可迭代对象,iter( ) 魔法方法就是迭代器
可迭代对象的本质:创建对象的所属类中含有迭代器(iter( )),可向外提供一个迭代器
注意事项:默认类是不可迭代的,如果一个类创建的对象判定为可迭代,那么这个对象所属的类中一定含有iter方法
快速代码体验: