是的,您可以这样做:
def infinity(start): yield start for x in infinity(start + 1): yield x
但是,一旦达到最大递归深度,这将出错。
从Python 3.3开始,您将可以使用
def infinity(start): yield start yield from infinity(start + 1)
yield from它,那么您要做的就是构建一个新的生成器,而无需实际运行函数主体或产生任何结果。
有关更多详细信息,请参见PEP 380。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)