Python高级精通
David Beazley(https://www.dabeaz.com)的课程 版权所有 (C) 2007-2024
概要
这是一门基于练习的Python高级编程课程,在企业培训领域经过数百次实战检验,历时十多年。课程由David Beazley编写,他是《Python Cookbook》第三版(O'Reilly出版)和《Python Distilled》(Addison-Wesley出版)的作者。本课程以知识共享许可证发布,不含广告、跟踪、弹窗、订阅和AI。
课程内容适用于Python的最新版本,但主要针对Python 3.6的功能集。因此,某些现代特性未被涵盖。老实说,除非你想编写极其巧妙的代码,否则这不会对你造成太大影响。
目标受众
本课程适合想要从编写短小脚本进阶到开发更复杂程序的Python程序员。为此,更好地理解流行库和框架中使用的编程技术会很有帮助。因此,本课程主要面向那些希望构建更完整的Python语言心智模型并了解其工作原理的程序员。最终目标是能够将这些知识应用到自己的项目中。
先决条件
你已经具备一定的Python基础。这不是一门面向初学者的课程。如需入门级材料,可以考虑学习《实用Python编程》课程。
如何学习本课程
要学习本课程,你应该首先将GitHub仓库fork/clone到自己的机器上。
假设你在本地使用合适的Python开发环境工作。这意味着正确安装了Python、编辑器/IDE以及通常用于Python开发的其他工具。由于涉及多个文件和模块导入,不建议使用Notebooks。
《PythonMastery.pdf》文件包含详细的演示幻灯片。课程练习和建议时间安排清晰标注。你会想随时参考它(建议下载并使用本地PDF查看器查看)。从这里开始!
Exercises/目录包含所有课程练习。
Solutions/目录包含完整的解决方案代码。
Data/目录包含课程中使用的一些数据文件。
本课程最初在为期4-5天的现场课堂环境中授课,包括讲座和动手练习。成功完成课程可能需要30-50小时的工作。练习往往是循序渐进的。如果遇到困难,随时可以查看解决方案。
补充材料
Python高级精通课程经常建议学习某些主题的深入教程。这些是在PyCon大会上呈现的,可能会引起你的兴趣:
- 面向系统程序员的生成器技巧
- 关于协程和并发的奇妙课程
- Python3元编程
- 生成器:最后的前沿
- 模块和包:生存与死亡
问答
问:有视频提供吗?
**答:**没有。你可以更快地阅读包含技术信息的演示幻灯片。然而,O'Reilly的Safari网站上提供的《Python编程语言:LiveLessons》视频与本课程的内容密切相关。
问:我可以在自己的课程中使用这些材料吗?
**答:**可以。我只是恳请你给予适当的署名。
问:你接受bug报告或pull请求吗?
**答:**如果你发现了bug,请报告!但是,我不打算用新主题或练习来扩展或重组课程内容。
问:演示幻灯片有其他格式可用吗,除了PDF?
**答:**没有。
问:有讨论课程的论坛/聊天室吗?
**答:**你可以使用GitHub讨论来讨论课程。
问:为什么没有涵盖主题/工具/库X?
**答:**本课程设计为在4天的密集面授格式中完成。简单地说,不可能涵盖所有内容。因此,课程主要聚焦于Python核心语言,而非第三方库或工具。
问:为什么没有涵盖类型注解、异步或模式匹配等特性?
**答:**主要是日程安排和范围的问题。课程材料主要是在疫情前开发的,代表了当时的Python状态。一些主题(如类型注解或异步)足够复杂,最好在单独的课程中详细讲解。
问:你有计划使课程现代化吗?
**答:**我的意图是确保课程中的所有内容适用于最新版本的Python。除非Python对核心语言做出不向后兼容的更改,否则这一点应该能够保持。虽然课程没有涵盖每个新特性,但我不排除未来进行更改的可能性。然而,这很大程度上取决于我的可用时间和兴趣。因此,我不做任何承诺。
问:为什么你发布了这门课程?
**答:**这门课程在疫情前广泛授课。疫情后,我的教学转向了项目和计算机科学基础。但是,为什么要让一门好课程就这样闲置在我的电脑上呢?
问:我如何提供帮助?
**答:**如果你喜欢这门课程,支持它的最好方式就是告诉其他人。
>>>
Python高级精通
...
作者:dabeaz
...
版权所有 2007-2023
. 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可