【发布时间】:2019-06-23 15:50:26
【问题描述】:
我编写了一个生成器函数,我将其实例化,然后一遍又一遍地调用,每次都会增加数字。
def pagecnt():
n = 1
while True:
yield n
n += 1
pg = pagecnt()
print(next(pg))
print(next(pg))
print(next(pg))
这会打印 1、2 和 3。有没有办法将生成器和实例化组合成一个新函数,以便我可以调用
print(newfunc())
print(newfunc())
print(newfunc())
得到 1、2 和 3?
编辑:我不想只调用 3 次。它用于生成页码。所以我事先不知道我要调用它多少次。在每次调用之间,有很多代码来计算和生成图表。
【问题讨论】:
-
def newfunc(): return next(pg)?
标签: python python-3.x generator