[問題] python閉包的語法(修改後囉)

作者: 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?
作者: yangs0618 (阿彰)   2019-07-29 13:02:00
我猜是5*x+b吧
作者: lemon651 (小明)   2019-07-29 15:37:00
你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:00
f = outer() 下一行你加個 print(f),這個輸出結果你懂嗎如果你不懂 f 為什麼是那個結果 那你其他都不會懂

Links booklink

Contact Us: admin [ a t ] ucptt.com