x=yield 返回值
def dog(name):
print('道哥%s准备吃东西啦...' %name)
while True:
# x拿到的是yield接收到的值
x = yield # x = '肉包子'
print('道哥%s吃了 %s' %(name,x))
g=dog('alex')
g.send(None) # 等同于next(g) 第一步必须要先send none
g.send(['一根骨头','aaa'])
g.send('肉包子')
g.send('一同泔水')
g.close()
g.send('1111') # 关闭之后无法传值
ps:next(g) = g.send(None) 关闭之后无法继续传值。
案例:
def func():
print('start.....')
x=yield 1111 # x='xxxxx'
print('哈哈哈啊哈')
print(x)
y=yield 22222
g=func()
res=next(g)
print(res)
#yield 返回1111 接收了xxxx并赋值给x
res=g.send('xxxxx')
print(res)