Python-生成器

本文介绍了Python中的生成器和迭代器,重点讲解了生成器如何通过`yield`关键字工作,并通过实例展示了如何使用`next()`函数激活生成器的执行步骤。在示例中,定义了一个名为`myGen`的生成器函数,通过调用`next()`依次执行生成器的各个阶段,直至抛出`StopIteration`异常。在for循环中,同样可以自动处理`StopIteration`异常,遍历生成器的输出。
摘要由CSDN通过智能技术生成

不严谨的说 如果函数体内出现yield 那么该函数就可以说是生成器, 生成器也属于迭代器需要next()函数激活下一步。

def myGen():
    print('生成器将被执行')
    print('-'*30)
    print('生成器已经执行第一步且被挂起,再次执行将会执行第二部')
    yield 1
    print('第一步执行结束 传出参数1')
    yield 2
    print('再次执行将会继续程序并传出参数2')

myG = myGen()
                                            #生成器 属于特殊的迭代器 所以需要next()
next(myG)
next(myG)
next(myG)                                   #抛出stopiteration异常
#for语句将会自动探测 stop异常
for i in myG:
    print(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值