概述
何为生成器
生成器的wiki页:https://en.wikipedia.org/wiki/Generator_(computer_programming)
在计算机科学中,生成器是特定的迭代器,它完全实现了迭代器接口,所以所有生成器都是迭代器。不过,迭代器用于从数据集中取出元素;而生成器用于"凭空"生成(yield)元素。它不会一次性将所有元素全部生成,而是按需一个一个地生成,所以从头到尾都只需占用一个元素的内存空间。
很典型的一个例子是斐波纳契数列:斐波纳契数列中的数有无穷个,在一个数据结构里放不下,但是可以在需要下一个元素的时候临时计算。
再比如内置函数range()也返回一个类似生成器的对象,每次需要range里的一个数据时才会临时去产生它。如果一定要让range()函数返回列表,必须明确指明list(range(100))
。
在Python中生成器是一个函数,但它的行为像是一个迭代器。另外,Python也支持生成器表达式。
初探生成器
下面是一个非常简单的生成器示例:
>>> def my_generator(chars):
... for i in chars:
... yield i * 2
>>> for i in my_generator("abcdef"):
... print(i, end=" ")
aa bb cc dd ee ff
我是一名python开发工
最后
以上就是美满绿茶为你收集整理的Python中生成器是什么?的全部内容,希望文章能够帮你解决Python中生成器是什么?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复