Python 生成器
程序员文章站
2022-06-06 08:33:29
...
# coding=utf-8
#生成器是一个函数,用yield可返回一系列值,而普通函数用return只能返回一个值
def Countdown(n):
print('Ready,Go!')
while n>0:
yield n
n-=1
MyGenerator=Countdown(9) #创建generator对象
MyGenerator.__next__()
#Ready,Go!
#9
MyGenerator.__next__()
#8
min(item for item in MyGenerator)
#1
def Countdown2(n):
while n>0:
x=yield n
print(x,n)
n-=1
MyGenerator=Countdown2(9) #创建generator对象
Get=MyGenerator.send(None) #启动生成器,返回第一个yield后的n
print(Get)
#9
Get=MyGenerator.send("Hello")#将"Hello"传给x,返回下一yield后的n
#Hello 9
print(Get)
Get=MyGenerator.send("Hi")#将"Hi"传给x,返回下一yield后的n
#Hi 8
print(Get)
#7
上一篇: 经典的校园趣事