从数据集中一次按需获取一个数据项,这就是迭代器,迭代器强调是从数据集一次获取一个数据项,而生成器指“凭空”生成元素,然后也是可以一个一个获取;
生成器中包含了迭代器的抽象(或者说接口、结构、方法),所以,所有的生成器都是迭代器。很多人视为同一概念
简单来说:生成器是创建迭代器的快捷工具。
生成器特点:利用yield返回数据,自动创建__iter__()和__next__()方法,写法更为紧凑和清晰。
专业的理解(装B的表达):生成器是创建迭代器代码的抽象
从数据集中一次按需获取一个数据项,这就是迭代器,迭代器强调是从数据集一次获取一个数据项,而生成器指“凭空”生成元素,然后也是可以一个一个获取;
生成器中包含了迭代器的抽象(或者说接口、结构、方法),所以,所有的生成器都是迭代器。很多人视为同一概念
简单来说:生成器是创建迭代器的快捷工具。
生成器特点:利用yield返回数据,自动创建__iter__()和__next__()方法,写法更为紧凑和清晰。
专业的理解(装B的表达):生成器是创建迭代器代码的抽象