欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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  

 

相关标签: 软件