您的位置:首页 > 编程语言 > Python开发

《Python学习手册》学习笔记(20)之第20章迭代和解析,第二部分(关键词:编程语言/Python/迭代/解析)

2017-11-03 19:29 323 查看

第20章 迭代和解析,第二部分

回顾列表解析:函数式编程工具

列表解析与map

增加测试和嵌套解析

列表解析和矩阵

理解列表解析

为什么要在意:列表解析和map

重访迭代器:生成器

Python对延迟提供了更多的支持——它提供了工具在需要的时候才产生结果,而不是立即产生结果。

- 生成器函数:编写为常规的def语句,但是使用yield语句一次返回一个结果,在每个结果之间挂起和继续它们的状态。

- 生成器表达式类似于上一节的列表解析,但是,它们返回按需产生结果的一个对象,而不是构建一个结果列表。



生成器函数:yield VS return

生成器表达式:迭代器遇到列表解析

生成器函数 VS 生成器表达式

状态挂起



迭代协议整合



生成器函数与Python中的迭代器协议的概念密切相关。可迭代的对象定义了一个
__next__
方法,它要么返回迭代中的下一项,或者引发StopIteration异常来终止迭代。一个对象的迭代器用iter内置函数接收。

要支持这一协议,函数包含一条yield语句,该语句特别编译为生成器。

(详见书上。)

生成器是单迭代器对象

生成器是单迭代器对象

用迭代工具模拟zip和map

为什么你会留意:单次迭代

内置类型和类中的值生成

Python3.0解析语法概括

解析集合和字典解析

针对集合和字典的扩展的解析语法

对迭代的各种方法进行计时

对模块计时

计时脚本

计时结果

计时模块替代方案

其他建议

函数陷阱

本地变量是静态检测的



默认和可变对象

没有return语句的函数

嵌套作用域的循环变量

本章小结

本章习题

习题解答

第四部分练习题

参考文献:

1.《Python学习手册》。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息