Fluent Python 的第 14 章也有非常好的演绎,但是我认为它对「为什么要有这种语言特性」缺乏阐释设想这样一个场景,你要从数据库中查询出一千万条数据做处理, 如果全部加载到内存,可能会将内存撑满 在处理第一条数据前,需要等待大量时间从数据库中取出这些数据 一些特殊的场景下,你可能并不需要对全部的数据做处理,比如处理到第五百万条数据时即可以结束当整个函数体被执行完毕时,抛出 StopIteration 异常 这套规则清晰直观,可以将它套用在上面代码中验证一下generator 是个 iterator,同时是个 iterable 文:giy.hkv 更多人工智能相关文章: