Python编程轻松进阶
上QQ阅读APP看书,第一时间看更新

本书不仅涵盖了高级的Python语法,还讨论了如何使用命令行和专业开发者所用的命令行工具,诸如代码格式化工具、代码检查工具、版本控制工具。我讲解了编写可读代码和整洁代码的原则,并介绍了一些用来帮助你了解这些原则在真实项目中如何应用的编程项目。尽管本书并非计算机科学教材,但我仍解释了大算法分析和面向对象设计。

没有哪本书可以让人一跃成为专业的软件开发者,但希望本书能够提高你的知识水平,帮助你朝着这个目标更进一步。我按照一些主题做了介绍,否则你可能只能从艰难的实践中一点一点地发现这些内容。读完本书,你将具备更扎实的基础,为迎接新的挑战做好准备。

虽然我推荐按照顺序阅读本书,但你也可根据兴趣跳到任何一个章节进行阅读。

第一部分 起步

第1章介绍如何有效发问和独立查找答案,也将教你如何阅读错误提示信息以及在网上寻求帮助的礼仪。

第2章讲解如何使用命令行跳转,以及如何配置开发环境和PATH环境变量。

第二部分 最佳实践、工具和技巧

第3章讲解PEP 8风格指南以及如何格式化代码以提升可读性。你将学习如何使用Black代码格式化工具将这个过程自动化。

第4章讲解如何命名变量和函数以提升代码的可读性。

第5章列举几个表明代码中存在潜在bug的危险信号。

第6章详细介绍什么是Python风格的代码以及编写地道Python代码的几种方式。

第7章解释编程领域常用的术语,特别是经常被混淆的术语。

第8章介绍Python语言中常见的混淆现象和bug的由来,并说明解决之法和避免出现问题的编程策略。

第9章涉及你可能注意不到的有关Python的几件怪事,如字符串驻留和反重力复活节彩蛋。通过探究为何某些数据类型和运算符会导致意外行为,你将更深入地理解Python的工作原理。

第10章详细说明如何组织函数以达到实用性和可读性的极致。你将了解*和**参数语法、函数大小的权衡方法以及函数式编程技术(比如lambda函数)。

第11章涉及程序中非代码部分的重要性及其对可维护性的影响。内容包括编写注释和文档字符串的频率,如何使其信息翔实有用。此外,这一章还将讨论类型提示以及如何使用静态分析器(例如Mypy)检测bug。

第12章介绍如何使用Git版本控制工具记录源代码的变更历史、恢复工作历史版本和追踪bug首次出现的时间,以及如何使用Cookiecutter工具组织项目文件结构。

第13章解释如何使用timeit和cProfile模块客观地衡量代码速度,还涉及大算法分析及如何利用它预测代码性能随着处理数据量的增加而减慢的变化趋势。

第14章将这部分所学的技术应用到两个命令行游戏中:汉诺塔(一种益智游戏,规则是将圆盘从一座塔移动到另一座塔)以及经典游戏四子棋(两人制)。

第三部分 面向对象的Python

第15章明确面向对象编程(OOP)的作用,因为它经常被误解。许多开发人员在自己的代码中滥用OOP而不自知,以为别人都是这么做的,而实际上这会导致代码复杂度过高。这一章将教你如何编写类,更重要的是,还将给出应该和不应该使用类的原因。

第16章解释类的继承及其对代码复用的功用。

第17章介绍面向对象设计中Python独有的功能,如特性、特殊方法和运算符重载。