Re: [問題] for 迴圈取完值,原本zip物件就變空了
推文裡面的東西太多了,拉出來討論
→
04/10 17:33,
04/10 17:33
→
04/10 19:25,
04/10 19:25
→
04/10 19:42,
04/10 19:42
→
04/10 21:26,
04/10 21:26
→
04/10 21:26,
04/10 21:26
→
04/10 21:27,
04/10 21:27
functional programming 跟 object-oriented programming 是
programming paradigm, iterator 是 software design pattern, 個人覺得 pattern
是從某個 paradigm 來的說法蠻詭異的。
→
04/11 14:12,
04/11 14:12
→
04/11 14:14,
04/11 14:14
→
04/11 14:15,
04/11 14:15
→
04/11 14:16,
04/11 14:16
→
04/12 08:47,
04/12 08:47
collections.abc 是 Generator 最完整的定義,但其實最初 Generator 的實作是沒有
send, throw 跟 close 的(PEP255),這三個 methods 是為了 coroutine (PEP342) 而
新增的。
PEP 在寫作也常常把兩個詞混著用像 yield from 的定義(PEP380)是 delegating to a
subgenerator ,但它並不是用嚴格的 Generator 定義(.send(None)),而是用 next()
去實作。
另外,我記得沒錯的話 Python 的 Iterator 並不完全符合 Iterator pattern 的實作
定義。
其他可參考 wikipedia: Generator, Iterator, Iterator pattern, design pattern,
programming paradigm.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 192.19.253.250
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1491970544.A.E5A.html
推
04/12 16:54, , 1F
04/12 16:54, 1F
推
04/12 17:52, , 2F
04/12 17:52, 2F
→
04/12 22:04, , 3F
04/12 22:04, 3F
→
04/12 22:05, , 4F
04/12 22:05, 4F
→
04/12 22:06, , 5F
04/12 22:06, 5F
→
04/12 22:07, , 6F
04/12 22:07, 6F
我認同 pattern 的確從 paradigm 萃取出來,但 iterator 是從 FP 來的這部份,我
持保留態度。應該說我完全沒聽過寫 FP 的人會說 "這裡用 iterator 來實作"之類的。
(又或者說寫 FP 的人根本不屑 Pattern 這回事)
我的想法很簡單就是: pattern 是處理資料的抽象概念,和 paradigm 之間的關係並
不明確。既然它是抽象的概念,要把它歸功於某個 paradigm 其實非常詭異。 這種立場
某層面省下和其他人爭論「某個 pattern 是抄哪個 paradigm 」的這種話題。
(能吵的已經夠多了不差這一個)
然後我回這篇的主要目的是說明 generator/iterator 在 Python 裡算是近似詞(?),
其他就是個人立場惹~ 不要找我吵架QQ
※ 編輯: zerof (122.100.76.218), 04/12/2017 22:52:45
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):