Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

今天生日,本节不收费,飨给大家!

这是 Python 基础课的第九节 - 解析表达式。该系列包含 11 节,目录如下:

  1. 编程概览

  2. 元素型数据

  3. 容器型数据

  4. 流程控制:条件-循环-异常处理

  5. 函数上:低阶函数

  6. 函数下:高阶函数

  7. 类和对象:封装-继承-多态-组合

  8. 字符串专场:格式化和正则化

  9. 解析表达式:简约也简单

  10. 生成器和迭代器:简约不简单

  11. 装饰器:高端不简单

解析化将一个可迭代对象转换成另一个可迭代对象,而解析式 (comprehension) 是实现该过程的表达式,如下所示。

 

Python 基础视频课 - 9. 解析表达式

可迭代对象 (iterable) 会在下一节课详细探讨,本贴就先把容器型数据 (str, list, tuple, dict, set) 都当成可迭代对象。

  • 第一个可迭代对象:可以是任何容器类型数据。

  • 第二个可迭代对象:看是什么类型解析式:

    • 列表解析式:可迭代对象是列表

    • 字典解析式:可迭代对象是字典

    • 集合解析式:可迭代对象是集合

本节最大的亮点是用「带 if 的 for 循环」到「解析式」的过程想像成一个「复制-粘贴」的过程:

Python 基础视频课 - 9. 解析表达式

  1. 将「for 循环」的新列表复制到「解析式」里

  2. 将 append 里面的表达式 n 复制到新列表

  3. 复制循环语句 for n in lst 到新列表里,不要最后的冒号

  4. 复制条件语句 if n%2 == 1 到新列表里,不要最后的冒号

通过这样的可视化过程,你发现列表解析式原来这么简单直观啊。

Python 基础视频课 - 9. 解析表达式

PDF 课件

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

Python 基础视频课 - 9. 解析表达式

课程视频

PDF 课件和 Jupyter Notebook 代码在下面百度盘下载:

链接:https://pan.baidu.com/s/1BXBw6rwDAL9cLXLwegkLDw

提取码:yyu5

QR code

Python 基础视频课 - 9. 解析表达式