Python生成器简介

Python015

Python生成器简介,第1张

Python 中的 yield 关键字鲜为人知,但是作用却很大,正是因为有了yield,才有了Python生成器

yield 是 Python 的关键字,它用于 从函数返回而不破坏其局部变量的状态 ,并且在调用该函数时,从最后一个 yield 语句开始执行。任何包含 yield 关键字的函数都称为生成器。

Python 中的 yield 关键字的作用类似于 Python 中的 return 语句,不同之处在于:

yield的优点

yield的缺点

Python 可以使用 括号() 创建生成器

更多时候,我们使用 yield 关键字创建生成器

下面这个生成器,前4次调用它时,返回的是0-3这几个特殊值,第5次调用它时返回一个10-20之间的随机整数。

更多时候,生成器可以返回无限的值。

注意 generator() 函数返回的是一个生成器对象,要想获取它的值,可以像上面那样在迭代器中取出它的值,我们也可以显式的调用next函数获取值。

Python | yield Keyword - GeeksforGeeks:https://www.geeksforgeeks.org/python-yield-keyword/

https://c.runoob.com/compile/9/

列表推导式和生成器表达式以及字典推导式 通常被视为Python中函数式编程的一部分,列表推导允许您使用包含较少代码的for循环创建列表。

用[] 包围

用{} 包围

生成器表达式允许在没有yield关键字的情况下即时创建生成器。

语法和概念类似于列表推导的语法和概念:用()包围