# x = yield 返回值
# def dog(name):
# print('dog %s' % name)
# while True:
# x = yield # x得到的不是yield的返回值,而是yield接收到的值
# print('dog %s eat %s' % (name, x))
#
#
# g = dog('alex')
# g.send(None) # 等同于next(g)
#
# g.send('food') # g.send()给yield赋值
# g.send('1')
# g.send('2')
# g.close() # 关闭后传值会报错
# ---------------------------------------------------------------
def dog(name):
food_list = []
print('dog %s' % name)
while True:
x = yield food_list
print('dog %s eat %s' % (name, x))
food_list.append(x)
g = dog('alex')
res = g.send(None) # 等同于next(g)
res = g.send('food') # g.send()给yield赋值
res = g.send('1')
res = g.send('2')
g.close() # 关闭后传值会报错
print(res)