标签:one str div send fun 扩展 改变 end 开始
生成器的 send() 方法
g.send (‘A‘)
1 send 和 next 的工作的起止位置是完全相同的
2 send 可以把一个值作为 信号量 传递到函数中去
3 并且 在生成器开始 只能先使用next
4 send(‘a‘)改变上一次yield的内容 可以用yield 返回同一个改变的值来返回
# def fun(): # print(1) # yield 2 #888 # print(3) # value=yield 4 #value---None # print(6) # yield value # # g=fun() # print(g.__next__()) # print(g.send(888)) # print(g.__next__())
---------------------------生成器 预激 函数------------------------------- def wrapper(func): def inner(*args,**kwargs): re=func() re.__next__() return re return inner @wrapper def average_fun(): total=0 count=0 average=0 while True: value=yield average total+=value count+=1 average=total/count g=average_fun() print(g.send(30)) print(g.send(20)) print(g.send(20))
标签:one str div send fun 扩展 改变 end 开始
原文地址:http://www.cnblogs.com/big-handsome-guy/p/7477988.html