我是靠谱客的博主 美满绿茶,最近开发中收集的这篇文章主要介绍Python中生成器是什么?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

何为生成器

生成器的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中生成器是什么?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部