[英]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.