[英]Python inner function runtime complexity
假设我写了一个 function 来创建另一个 function,比如:
def g(x):
#do stuff
def h(y):
return x*y
return h
my_func = g(10)
for i in range(100):
print(my_func(i))
在我for
循环中,我调用了my_func
一百次,但是由于我只调用一次g
来创建my_func
,我希望我的代码的#do stuff
位只会在开始时运行一次,而不是每次循环迭代运行一次。
任何人都可以确认这确实是这种情况,还是会在 for 循环中每次都运行? 我在其他地方找不到满意的答案。
正确,如果有一行代码在#do stuff
所在的位置,则在此示例中它只会运行一次。
提示:如果你用print("test")
替换了它,你可以自己检查一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.