PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 閉包(closure)的用法或意義
作者:
h888512
(速球勝負 + 45度角絕殺)
2019-09-13 20:53:38
各位先進好
小弟最近看Lubanovic的Python教科書, 描述閉包的部分, 不是很懂其意義
如下:
def knights5(saying):
def inner2():
return "We are the knights who say: '%s'" % saying
return inner2
我知道會回傳夾帶外部引數的inner2()函式
但具體上這樣的東西意義或用法或優點是什麼呢?
作者在這邊寫的內容小弟不是很能理會
有請大家解惑, 感謝~~
作者:
CaptainH
(Cannon)
2019-09-13 21:27:00
閉包=保存狀態完全可以想像成宣告一個匿名的class並即時建構
作者:
s860134
(s860134)
2019-09-13 23:30:00
好處就是把 function 丟進去後得到另外一個 function意思就是我可以動態的對 function 行為做加工
作者:
TitanEric
(泰坦)
2019-09-14 01:53:00
之後你應該會看到decorator 很有趣又實用的東西
作者:
yushes920179
(樂冰)
2019-09-14 19:47:00
去看看裝飾器
作者:
h888512
(速球勝負 + 45度角絕殺)
2019-09-15 18:30:00
了解 那我先往下看了
作者:
sxy67230
(charlesgg)
2019-09-22 10:21:00
closure要跟decorator一起看比較實用,不過closure在數學上比較符合直覺,像f(g(x))的用法。然後一定會有人提到lambda,但lambda只提供一個statement ,所以你的function 夠複雜的話,那closure 會是比較好的表達式就是了。closure 比較是屬於JavaScript 的概念,可以順便了解JavaScript 你會更懂closure。
繼續閱讀
[資訊] 總獎金2萬美金 CodeVita學生國際程式競賽
fishocean
[問題] 無法被過濾的路徑
s4028600
Re: [問題] 初學者list問題 l[:,var]
uranusjr
[問題] flask render_template傳送模板問題
wang19980531
[問題] 初學者list問題 l[:,var]
st1009
[問題] 用r markdown 編輯python
assnccu8787
[問題] 初學者的函式問題
h888512
[問題] python 入門該用筆電還是平板?
smallnono10
[問題] pyperclip 模組 匯入錯誤
spong
[問題] OpenCv 擷取串流影像
AT201010
Links
booklink
Contact Us: admin [ a t ] ucptt.com