目标:

    1:为什么学习迭代器
    2:知道什么是可迭代对象
    3:掌握利用 isinstance()方法检测对象是否可迭代
    4:初识迭代器

    一:为什么学习可迭代对象(迭代器)

    答:因为学习迭代器是为了学习生成器,学习生成器是为了学习协程!

    二:什么是可迭代对象

    答:可迭代对象就是可以被for循环遍历的对象,因此可迭代也称为可遍历

    可迭代(遍历)对象举例:列表、元组、字典、字符串、range()

    不可迭代对象举例:自定义类对象(不包括内含迭代器的类对象)、函数、整数(int)

    注意事项:遍历字典默认遍历的字典的key值

    可迭代判断截图:


    image.png

    三:判断对象是否可迭代的方法

    方法:isinstance(判断对象,Iterable)
    判断实例:bool = isinstance(判断对象,Iterable)

    注意事项:

    1:在利用isinstance(判断对象,Iterable)方法判断对象是否可迭代时,要先导入collections模块内的Iterable类!!,即 from collections import Iterable语句 ,否则程序报错

    2:Iterable是一个可迭代对象类,isinstance()判断方法就是判断目标对象是否为Iterable类的一个子类

    3:判断对象是可迭代对象返回 True,不是返回 False

    4:默认的自定义类对象是不可迭代的,但是如果类中含有iter( ) 方法,那么这个类创建的对象就是可迭代的,其中iter( ) 方法也称为迭代器

    快速代码体验:

    image.png


    四:初识迭代器 (iter( )魔法方法)

    概念:类默认是不可迭代对象,但是在类中如果含有iter( ) 这个方法,那么这个类创建的对象就是可迭代对象,iter( ) 魔法方法就是迭代器

    可迭代对象的本质:创建对象的所属类中含有迭代器(iter( )),可向外提供一个迭代器

    注意事项:默认类是不可迭代的,如果一个类创建的对象判定为可迭代,那么这个对象所属的类中一定含有iter方法
    快速代码体验:

    image.png