【Python基础】生成器

自由坦荡的智能 2025-03-21 01:07:12

生成器是一种特殊的函数,它可以在迭代过程中逐步产生值,而不是一次性返回所有结果。生成器使用关键字yield来返回值,每次调用yield时,函数会暂停并保存当前的状态,等待下一次迭代时继续执行。生成器可以节省内存空间,提高效率,也可以与其他迭代工具无缝配合。

要创建一个生成器,有两种方法:

第一种方法是把一个列表生成式的[]改成(),就创建了一个生成器。例如:g = (x * x for x in range(10)) # 创建一个生成器for n in g: # 通过for循环迭代生成器 print(n) # 输出0, 1, 4, 9, ..., 81第二种方法是在函数中使用yield语句来返回值。例如:def fib(n): # 定义一个生成器函数 a, b = 0, 1 # 初始化变量 while a < n: # 循环条件 yield a # 返回当前值 a, b = b, a + b # 更新变量for x in fib(100): # 通过for循环迭代生成器 print(x) # 输出斐波那契数列

0 阅读:0

自由坦荡的智能

简介:感谢大家的关注