1. 迭代器
可以使用dir()函数来检查类的内部定义的函数
特点:
__iter__() 获取迭代器
__next__() 获取最前面这个元素
2. 生成器(初识)
本质就是迭代器.
yield 和 return
函数中如果出现了yield. 这个函数是生成器函数.
这个时候执行函数. 获取到生成器.
使用__next__()执行到下一个yield. send()也有这个功能.
区别:
__next__()不能赋值
send()可以赋值, 在执行send()之前执行__next__()
生成器的优点:
节省内存.