python迭代器和生成器区别是什么
python中迭代器和生成器的区别1、共同点生成器是一种特殊的迭代器。相关推荐:《Python视频教程》2、不同点a、语法上:生成器是通过函数的...
python中迭代器和生成器的区别1、共同点生成器是一种特殊的迭代器。相关推荐:《Python视频教程》2、不同点a、语法上:生成器是通过函数的
展开
2个回答
2020-09-29 · 专注大学生职业技能培训在线教育品牌
关注
展开全部
python中迭代器和生成器的区别
1、共同点
生成器是一种特殊的迭代器。
相关推荐:《Python视频教程》
2、不同点
a、语法上:
生成器是通过函数的形式中调用 yield 或()的形式创建的。
迭代器可以通过 iter() 内置函数创建。
b、用法上:
生成器在调用next()函数或for循环中,所有过程被执行,且返回值。
迭代器在调用next()函数或for循环中,所有值被返回,没有其他过程或动作。
2020-12-15 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
关注
展开全部
迭代器是一个更抽象的概念,任何对象,如果它的类有NEXTiter方法返回自己本身,对于string、list、dict、tuple
等这类容器对象,使用for循环遍历是很方便的。在后台For语言对容器对象条用iter()函数,iter()是Python的内置函数。iter()会返回一个定义了next()方法迭代器对象,在容器中逐个访问容器的元素,next()也是Python的内置函数,next()会抛出StopIteration异常。
生成器是创新迭代器的简单而强大的工具,它们写起来就好像正则函数,只是在需要返回数据的时候使用yield 语句。
迭代器协议,对象需要提供next()方法,它要么返回迭代中的下一项,要么就引起一个StopIteration异常,终止迭代。
可迭代对象,实现了迭代器协议对象。list、tuple、dict都是Iterable可迭代的对象,但不是Iterator迭代器对象。
等这类容器对象,使用for循环遍历是很方便的。在后台For语言对容器对象条用iter()函数,iter()是Python的内置函数。iter()会返回一个定义了next()方法迭代器对象,在容器中逐个访问容器的元素,next()也是Python的内置函数,next()会抛出StopIteration异常。
生成器是创新迭代器的简单而强大的工具,它们写起来就好像正则函数,只是在需要返回数据的时候使用yield 语句。
迭代器协议,对象需要提供next()方法,它要么返回迭代中的下一项,要么就引起一个StopIteration异常,终止迭代。
可迭代对象,实现了迭代器协议对象。list、tuple、dict都是Iterable可迭代的对象,但不是Iterator迭代器对象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询