gpt4 book ai didi

python: `for i in obj.func()` 每次迭代都会重新运行 `func` 吗?

转载 作者:行者123 更新时间:2023-11-28 19:46:07 25 4
gpt4 key购买 nike

假设我有以下代码:

for a in object.a_really_huge_function():
print a

为了防止a_really_huge_function运行多次,其他语言我习惯这样做:

a_list = object.a_really_huge_function()
for a in a_list:
print a

在 Python 中有必要吗? in 之后的部分是否会在每个循环中运行?

最佳答案

python 解释器是您的 friend 。

>>> def some_func():
... print 'in some_func'
... return [1, 2, 3, 10]
...
>>> for a in some_func():
... print a
...
in some_func
1
2
3
10

简而言之,不会,它被调用一次。

关于python: `for i in obj.func()` 每次迭代都会重新运行 `func` 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3696992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com