作者:
spong (請輸入ID)
2019-07-29 08:34:29我想請問關於python閉包的語法該怎麼理解
範例如下
def outer():
b = 10
def inner(x):
return 5 * x + b
return inner
b = 2
f = outer()
print(f(b))
為什麼最後答案會是20
完全不了解,整個程式的流程
作者:
IAMPF (PF)
2019-07-29 08:42:00耶... 我這邊跑16耶
作者:
os653 2019-07-29 08:45:00你寫錯答案了吧?直覺想法是f=inner,所以跑出5*2+6=16?
你return inner就是return inner那個method阿...
作者:
germun (ger)
2019-07-29 15:56:00我猜你根本板書抄錯了 應該是5*x+b 然後函式都少了參數
作者: windclara (null) 2019-07-29 22:29:00
f=outer 應該要有參數吧
作者:
s860134 (s860134)
2019-07-30 21:09:00f = outer() 下一行你加個 print(f),這個輸出結果你懂嗎如果你不懂 f 為什麼是那個結果 那你其他都不會懂