下面是一个生成器函数。
def f():
x=1
while 1:
y = yield x
x += y
这个生成器函数 (f
) 是否会按照下面的方式进行内部实现?
class f(collections.Iterable):
def __init__(self):
self.x = 1
def __iter__(self):
return iter(self)
def __next__(self):
return self.x
def send(self, y):
self.x += y
return self.next()
编辑:
这个 是我问题的答案。