直接调用函数和赋值给变量调用的区别是什么?
如图,一个非常简单的程序,在不同的调用方式下出现了不同的结果。我的理解是直接调用的结果不会保存,所以每次执行 "fb()"都重新运行了这个函数。
两种执行方式本质区别是什么?我该查找哪方面的内容?谢谢大家回答啦! print(next(fb())) 每次调用都会产生一个新的生成器,所以每次都返回第一个值。
而 print(next(a)) 只是使用 a 一个生成器。
PS:如果你的问题已解决,请设置【最佳答案】。 本帖最后由 Twilight6 于 2020-5-1 11:29 编辑
直接拿代码举例子吧~ 看
i =
def func():
while True:
i += 1
yield i
print(next(func()))
print(next(func()))
a = func()
print(next(a))
输出结果:>>>1
>>>2
>>>3
还有:
i =
def func():
while True:
i += 1
yield i
a = func()
print(next(func()))
print(next(func()))
print(next(a))
输出结果同上~
页:
[1]