Py学习  »  Python

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

王的机器 • 4 年前 • 483 次点击  

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


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


  1. 编程概览

  2. 元素型数据

  3. 容器型数据

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

  5. 函数上:低阶函数

  6. 函数下:高阶函数

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

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

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

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

  11. 装饰器:高端不简单


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

 


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


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

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


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

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

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

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




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

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

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

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


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






PDF 课件





课程视频

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


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

提取码:yyu5


QR code


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/74807
 
483 次点击