生成器函数、迭代器和yield关键字是Python中的基本概念,可让您增量生成数据.
迭代器是从集合中返回一个值的对象一次。要访问每个后续值,请重复调用 next() 方法。
生成器函数创建迭代器。它们与常规函数类似,但包含yield 语句。 yield 的行为类似于 return,但它不是终止函数,而是暂停执行并返回值。
yield 关键字在生成器函数中使用。每次调用yield时,生成器函数都会返回指定的值并暂停执行。当再次调用生成器时,将从最后一个yield语句停止的位置恢复执行。
考虑以下代码:
def generate_numbers(): for i in range(5): yield i
此代码定义生成 0 到 4 之间整数的生成器函数。使用 next() 调用时,该函数返回 0、1、2、3 和 4
生成器函数常用:
可以控制发电机功能以避免过早耗尽。例如:
class Bank: def create_atm(self): while True: yield "0"
此代码创建一个无限 ATM 生成器。但是,您可以通过将 True 分配给 self.crisis 来终止它。这种方法对于控制资源可用性很有用。
itertools 模块提供了用于操作可迭代的附加工具,例如 permutations(),它可以从列表中生成所有可能的排列。
以上是Python的'yield”关键字如何实现高效的数据生成?的详细内容。更多信息请关注PHP中文网其他相关文章!