作者Haruna1998 (榛名)
看板Python
標題[問題] closure、lambda和產生器的問題
時間Thu Jul 11 21:47:11 2019
最近在學python
照著書學還蠻順的
但是有幾個地方搞不太清楚。
我先說說我理解的東西好了
再請各位幫我看看有沒有理解錯誤QQ
closure 簡單來說就是像JavaScript一樣全域變數和本地變數那樣,
可以互相防止污染,
但是可以偷偷的把已經結束的內部函數放到外面一層,
這樣就算函式結束了還是可以繼續使用。
lambda 就是用一行來把小程式做出來,
這樣就可以省去一直命名。
產生器(generator) 這個最不能理解…
看完書大概來說本質還是疊代器,
只是比較簡潔,然後把 return 換成 yield。
啊還是不知道是怎麼個簡潔法…
好像問題有點多,手機排版不知道有沒有亂掉0.0?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.137.146.128 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1562852834.A.F8C.html
推 iphone2003: 如果用yield,就不用再特別去寫__iter__和__next__了 07/11 22:07
→ iphone2003: ,簡潔很多 07/11 22:07
→ Haruna1998: 嗯…感覺先繼續學好了,不然卡著有點難受 07/12 10:47
→ thefattiger: 我用產生器最主要是要它的lazy evaluation 07/12 11:07
推 ssivart: 省記憶體 07/13 00:32
推 ssivart: 一樓正解 07/24 20:09