
1、用小括号包围数据的生成规则,创建一个生成器类型的对象。
1 2 3 4 5 | a=(x for x in range(10))
print(type(a))
#运行结果:
#<class 'generator'>
|
2、函数+yield关键字创建法。需要将其写成多行函数,并通过调用该函数返回生成器对象。
适用于想要表示的生成规则比较复杂,不能用一行代码来表示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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'>
|
以上就是python快速建立生成器的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。