可能由关键字引起的简单问题会导致对函数本身的解释,而不是澄清以下是否属于这种情况:
当使用范围函数循环时,使用函数作为停止步骤, 例如
for item in range(some_function()):
#do something
是存储供使用或在每一步评估的函数调用的结果吗?
我想象它是前者,但它激动我无法证实。
答案 0 :(得分:4)
这里range
没有什么特别之处。行为在the language reference中定义。
表达式列表评估一次
"表达式列表"是in
之后的部分(即示例中的range(some_function())
)。无论那里有什么,它只被评估一次。