生成器
调用生成器函数,会返回一个对象,这个对象是生成器(可用type()函数判断这个对象类型), 再利用这个对象调用 next()方法,即可获得一个序列。
传递给 yield 的值,会通过next()方法返回。
next()方法 当遇到yield时暂停函数的执行,并返回。当下一次再调用next()时恢复函数的执行. 可以通过打印信息来说明生成器的执行情况。
def countdown(n): print ‘---------1‘ while n > 0: print ‘---------2‘ yield n print ‘---------3‘ n -= 1 print ‘---------4‘
调用生成器,并查看运行情况:
c = countdown(5) c.next() c.next() c.next()
协程
一般函数只处理单个的输入参数集合, 而协程则是对一连串发送给它的输入参数进行处理。 协程是通过 yield 语句创建的。
时间: 2024-10-18 02:58:01