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 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 i
print(fun(5))
首先yield是创建生成器
那么现在的fun(5)就不是调用函数,fun(5)是一个生成器,也就是一个可迭代对象
可以通过next() ,for循环等遍历
报告相同问题?