迭代器和生成器都是 next,且都可以被 for 循环遍历,两者的很像归属关系,但为何要同时存在,两者有什么场景上的差别?ChatGPT的回答也是一针见血,当然这里不是为了宣传 ChatGPT,而是很多答案都在 AI 上,但是一般人很少去想,也很少去问,所以向 AI 提问,真的是一件很值得学习的事情,迭代器类似接口功能,谁实现这种接口,谁有了左右 for 循环过程的能力,属于增强型功能,而生成器是给了人一种创造这种懒生成的方式,所以生成器是一个完整的对象,此外,迭代是同步发生的,生成器可以异步生成数据,所以两者还是有区别的。在异步生成方面,生成器是必不可少的概念。此外迭代器不能使用 yield 关键词,我就问了是否可以用 await,结果还真有,出现了异步迭代器,直接升维了,不断地追问,就会产生质变,质变的边缘就是新知识的诞生