我对生成器有什么误解,我没有得到我期望的输出?我正在尝试创建一个简单的函数,该函数将输出 i .send() 它的任何数据,如果没有发送任何信息,则返回“无”。
import pudb
#pudb.set_trace()
def gen():
i = 0
while True:
val = (yield i)
i = val
if val is not None:
yield val
else:
yield 'none'
test = gen()
next(test)
print test.send('this')
print test.send('that')
print test.next()
print test.send('now')
预期输出:
'this'
'that'
'none'
'now'
实际输出:
'this'
'this'
'none'
'none'