python的生成器和迭代器的相同点和不同点


python的生成器和迭代器的相同点和不同点

相似:
    都是通过next()获取下一个值, 都可以作为一个迭代方式使用
不同:
    1.迭代器需要保存指针状态,;生成器则是不需要保存指针状态,在函数中返回yield即可返回一个生成器,指针位置完全交给运行时处理;
    2.迭代器对象需要初始化,并且之后时刻在运行时内存中等待调用;生成器则是一种懒加载方式,在调用的时候在才被唤醒执行。