生成器
#_author:生成器
#date:2019/11/4
def fibo(max):
n, before, after = 0, 0, 1
while n<max:
yield before# 有暂存功能
before,after=after,before+after
n=n+1
p=fibo(5)
print(p)#<generator object fibo at 0x00321F70>
print(next(p))#0
print(next(p))#1
print(next(p))#1
print(next(p))#2
print(next(p))#3
print('----------------')
def bar():
print('ok')
count=yield 1
print(count)
yield 2
g=bar()
ret=g.send(None)#等同于next(g) 第一次send 前如果没有next,只能传一个send(None) ok
print(ret)# 1
ret1=g.send('rrr') # rrr
print(ret1)# 2
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步