Python 3:深入探讨(第 2 部分 – 迭代、生成器)
序列、可迭代对象、迭代器、生成器、上下文管理器和基于生成器的协程
讲师:Dr. Fred Baptiste
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你会学到什么
- 您将能够利用本课程中的概念将您的 Python 编程技能提升到一个新的水平。
- 序列类型和序列协议
- 可迭代对象和可迭代协议
- 迭代器和迭代器协议
- 列表理解及其与闭包的关系
- 生成器函数
- 生成器表达式
- 上下文管理器
- 使用生成器函数创建上下文管理器
- 使用生成器作为协程
要求
- 这是一门相对高级的课程,因此您应该已经熟悉基本的 Python 概念,以及课程描述中先决条件中描述的一些深入知识。请务必检查并确定!
- 您将需要 Python 3.6 或更高版本,以及您选择的开发环境(命令行、PyCharm、Jupyter 等)
描述
本 Python 3:深入探讨系列的第 2 部分深入探讨了:
- 序列
- 可迭代对象
- 迭代器
- 发电机
- 理解力
- 上下文管理器
- 基于生成器的协程
我将向您展示迭代在 Python 中的确切工作方式——从序列协议到可迭代和迭代器协议,以及我们如何编写自己的序列和可迭代数据类型。
我们将详细介绍序列切片以及切片与范围的关系。
我们也详细研究推导式,我将向您展示列表推导式实际上是闭包并有自己的范围,以及为什么有时会出现一些我们可能意想不到的细微错误。
我们将深入研究itertools模块并查看那里可用的所有功能以及它们的用处(但被忽视了!)。
我们还研究了生成器函数、它们与迭代器的关系,以及它们的理解对应物(生成器表达式)。
上下文管理器是 Python 中经常被忽视的结构,也有详细介绍。在那里,我们将学习如何创建和利用我们自己的上下文管理器,并了解上下文管理器和生成器函数之间的关系。
最后,我们将看看如何使用生成器来创建协程。
每个部分之后都有一个项目,旨在将您在整个课程中学到的知识付诸实践。
本课程系列的重点是 Python 语言和标准库。在标准 CPython 发行版中有大量的功能和需要理解的东西,所以我不涉及第 3 方库——这是对 Python 的深入研究,而不是对围绕 Python 发展起来的许多非常有用的第 3 方库的探索- 这些通常足够大,足以保证他们自己完成整个课程!事实上,他们中的许多人已经这样做了!
***** 先决条件 *****
请注意,这是一门相对高级的 Python 课程,需要对 Python 的某些主题有深入的了解。
特别是您应该已经深入了解以下主题:
- 函数和函数参数
- 打包和解包 iterables 以及如何与函数参数一起使用(即使用*)
- 关闭
- 装饰者
- 布尔真值以及任何对象如何具有关联的真值
- 命名元组
- zip、map、filter、sorted、reduce 函数
- 拉姆达斯
- 导入模块和包
您还应该具备以下主题的基本知识:
- 各种数据类型(数字、字符串、列表、元组、字典、集合等)
- for 循环、while 循环、break、continue、else 子句
- 如果语句
- 尝试…除了…其他…最后…
- 关于如何创建和使用类(方法、属性)的基本知识 – 不需要继承或元类等高级主题
- 了解类中某些特殊方法的使用方式(如 __init__、__eq__、__lt__ 等)
本课程适合谁:
- 希望深入了解序列、可迭代对象、迭代器、生成器和上下文管理器的 Python 开发人员。