社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

王的机器 • 3 年前 • 320 次点击  

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


这是 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
 
320 次点击