Python 板


LINE

推文里面的东西太多了,拉出来讨论
1F:→ zerof: zip是 generator, 只能用一次04/10 17:33
2F:→ mikapauli: iterator不回头。这是从functional programming来的04/10 19:25
3F:→ zerof: .... fp 里面有 iterator...? 楼上是认真的吗04/10 19:42
4F:→ uranusjr: 二楼说的应该是 generator, 不过仍然不太准确, 虽然这个04/10 21:26
5F:→ uranusjr: 概念是从 functional programming languages 开始流行,04/10 21:26
6F:→ uranusjr: 但本身与 functional programming 关系不大04/10 21:27
functional programming 跟 object-oriented programming 是 programming paradigm, iterator 是 software design pattern, 个人觉得 pattern 是从某个 paradigm 来的说法蛮诡异的。
7F:→ mikapauli: python里generator继承自iterator04/11 14:12
8F:→ mikapauli: 但zip不是generator吧04/11 14:14
9F:→ mikapauli: zip也没有send, throw, close等methods04/11 14:15
10F:→ mikapauli: 至少我看ABC里是这样写的04/11 14:16
11F:→ s860134: generator iterator iterable 傻傻分不清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://webptt.com/cn.aspx?n=bbs/Python/M.1491970544.A.E5A.html
12F:推 CaptainH: pattern是随人讲的 04/12 16:54
13F:推 mikapauli: 感谢说明! 04/12 17:52
14F:→ uranusjr: 你有发现我第二推比第三推多一个英文字吗 04/12 22:04
15F:→ uranusjr: 另外 pattern 从 paradigm 来也不是诡异的事, 不同 04/12 22:05
16F:→ uranusjr: paradigm 因为产生的各自需求与特性而演化出 pattern 并 04/12 22:06
17F:→ uranusjr: 不是奇怪的历程, 然後 pattern 再被广义化用到其他地方 04/12 22:07
我认同 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







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP