生成器
Posted little-raccoon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器相关的知识,希望对你有一定的参考价值。
def func(): print(‘哈哈哈‘) yield 1 # return 和 yield 都可以返回数据 print(‘呵呵呵‘) gen = func() # 不会执行你的函数,拿到的是生成器 ret = gen.__next__() # 会执行到下一个yield print(ret) gen.__next__() # 继续执行函数到下一个yield
函数中如果有yield 这个函数就是生成器函数,生成器函数() 获取的是生成器,这个时候不执行函数
yield:相当于return,可以返回数据,但是yield不会彻底中断函数,分段执行函数
def order(): for i in range(100000): yield ‘衣服‘+ str(i) g = order() # 获取生成器 mingwei = g.__next__() print(mingwei) zhaoyinning = g.__next__() print(zhaoyinning)
send() 和 __next__()是一样的,可以执行到下一个yield,可以给上一个yield位置传值
以上是关于生成器的主要内容,如果未能解决你的问题,请参考以下文章