【发布时间】:2014-09-06 16:40:02
【问题描述】:
我读到了yield 扩展语法,所以如果我有:
def numgen(N):
for i in range(N):
n = yield i
if n:
yield n
我可以考虑:
def numgen(N):
n = yield from range(N)
if n:
yield n
但我注意到,如果我这样做了,在我编写了第二个生成器之后:
g = numgen(10)
next(g)
g.send(54)
我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in gensquare
AttributeError: 'range_iterator' object has no attribute 'send'
那么,怎么样?如何向我的 numgen 生成器对象发送值?
【问题讨论】:
标签: python python-3.x generator yield