[問題] closure、lambda和產生器的問題

看板Python作者 (榛名)時間4年前 (2019/07/11 21:47), 編輯推噓3(303)
留言6則, 4人參與, 4年前最新討論串1/1
最近在學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

07/11 22:07, 4年前 , 1F
如果用yield,就不用再特別去寫__iter__和__next__了
07/11 22:07, 1F

07/11 22:07, 4年前 , 2F
,簡潔很多
07/11 22:07, 2F

07/12 10:47, 4年前 , 3F
嗯…感覺先繼續學好了,不然卡著有點難受
07/12 10:47, 3F

07/12 11:07, 4年前 , 4F
我用產生器最主要是要它的lazy evaluation
07/12 11:07, 4F

07/13 00:32, 4年前 , 5F
省記憶體
07/13 00:32, 5F

07/24 20:09, 4年前 , 6F
一樓正解
07/24 20:09, 6F
文章代碼(AID): #1T9ptY-C (Python)