生成器 是(特殊)的迭代器
特殊: 构建 方式不同
查看 对象 的所有 属性 和 方法:
dir()
生成器 是 对 迭代器补充, 可以处理 那些 无规律 的数字
实现方式
函数中 具备
yield
关键字,它就是生成器,此时 ,它具备__iter__
方法和__next__
方法
yield
(1.暂停执行 2.返回值)
将列表推导式 的 [] 变为 (), 他就是 生成器
获取生成器数据
1.利用for循环获取迭代器数据
2.利用while循环和异常捕获
3.利用list、tuple类型转换
生成器的唤醒方式
1.next()
函数
2.__next__()
魔法方法
3.send()
第一次唤醒不能使用;可以将数据作为参数传递到生成器内部