def fun(n): for i in range(n): yield i for v in fun(5): print(v) ouput: 0 1 2 3 4 还有一段 def fun(n): for i in range(n): yield i print(fun(5)) 这段不是应该出来0,然后终止吗?但出来的是<generator object fun at 0x000001F4A1215970>
收起
def fun(n): for i in range(n): yield iprint(fun(5))
首先yield是创建生成器那么现在的fun(5)就不是调用函数,fun(5)是一个生成器,也就是一个可迭代对象可以通过next() ,for循环等遍历
报告相同问题?