首页 > 文章列表 > python如何快速建立生成器

python如何快速建立生成器

python生成器
171 2022-08-07

1、用小括号包围数据的生成规则,创建一个生成器类型的对象。

a=(x for x in range(10))
print(type(a))
 
#运行结果:
#<class 'generator'>

2、函数+yield关键字创建法。需要将其写成多行函数,并通过调用该函数返回生成器对象。

适用于想要表示的生成规则比较复杂,不能用一行代码来表示。

def fib():
    n = 0
    a,b = 0,1
    while n<10:
        n+=1
        print(b,end=" ")
        a,b=b,a+b
fib()
 
#运行结果:
#1 1 2 3 5 8 13 21 34 55
在函数中加上关键字yield,就可以得到一个生成器。
def fib():
    n = 0
    a,b = 0,1
    while n<10:
        n+=1
        print(b,end=" ")
        yield
        a,b=b,a+b
a = fib()
print(type(a))
 
#运行结果:
#<class 'generator'>

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。