是否有内置/推荐的方法来替换decorator:
def generator(f):
return f()
在下面的例子中?
from random import randint
@generator
def mygenerator():
while True:
yield randint(0, 9)
for i in mygenerator:
print i
... 因为我不想写:
for i in mygenerator():
print i
这是一个简单的例子。在实际用例中,不需要/没有理由拥有两个
mygenerator
实例,因此我想立即创建该实例。最好以不可以创建其他实例的方式。 最佳答案
其内置方式如下:
def mygenerator():
while True:
yield randint(0, 9)
mygenerator = mygenerator()
这至少具有清晰的优点,所以您不必查找
@generator
的功能。