generator生成器介绍 - liudl240/PYTHON3 GitHub Wiki
generator生成器
生成器,使用即生成,只能通过__next__()来调用
"""
列表生成器
"""
list1=[i for i in range(10)]
for i in list1:
print(i)
generator1=(i for i in range(10))
print(generator1)
print(generator1.__next__())
print(generator1.__next__())
""" 生产器 函数 yield """
print("#"* 50)
def fbnq(count):
num=0
a=1
b=1
if count==1:
yield (a)
elif count==2:
yield (b)
else:
while num < count:
num +=1
a,b = b,a+b
yield (b)
# return "done"
res=fbnq(4)
print(res.__next__())
print(res.__next__())
print(res.__next__())
""" 生产器 函数 """
def fbnq1(count):
num=0
a=1
b=1
if count==1:
yield (a)
elif count==2:
yield (b)
else:
while num < count:
num +=1
a,b = b,a+b
yield (b)
res=fbnq1(100)
while True:
try:
print(next(res))
except StopIteration as reson:
print(reson)
break