Python工匠

Python工匠

outline #

  • 前言
  •  第 1 章 变量与注释
    • 要写出一份质量上乘的代码,运用好变量与注 释不是加分项,而是必选项。在本书的开篇章,你将学习包括动态解包在 内的一些 Python 变量的常见用法,了解编写代码注释的几项基本原则。 而本章的案例故事“奇怪的冒泡排序算法”,是全书趣味性最强的几个故 事之一,请一定不要错过。  
    • 1.1 基础知识
      • 变量常见用法
      • 给变量注明类型
      • 变量命名原则
      • 注释基础知识
      1. 2 案例故事
    • 1.3 编程建议
    • 1.4 总结
  • 第 2 章 数值与字符串
    • 本章内容围绕 Python 中最基础的两个数据 类型展开。在基础知识板块,我们会学习一些与数值和字符串有关的基本 操作。在案例故事板块,你会见到一个与代码可读性有关的案例。在编程 建议板块,你会学到一些与 Python 字节码相关的语言底层知识。  
  • 第 3 章 容器类型 由于 Python 语言的容器类型丰富,因此本章是 全书篇幅最长的章节之一。在基础知识板块,除了介绍每种容器的基本操 作,我还会讲解包括可变性、可哈希性、深拷贝与浅拷贝在内的 Python 语言里的许多重要概念。在案例故事板块,你会读到一个与自定义容器类 型相关的重构案例。  
  • 第 4 章 条件分支控制流 条件分支是个让人又爱又恨的东西:少了 它,许多逻辑根本没法表达;而一旦被滥用,代码就会变得不堪入目。通 过本章,你会学到在 Python 中编写条件分支语句的一些常用技巧。在案 例故事板块,我会说明有些条件分支语句其实没必要存在,借助一些工 具,我们甚至能让它们完全消失。  
  • 第 5 章 异常与错误处理 异常就像数值和字符串一样,是组成 Python 语言的重要对象之一。在本章中,你首先需要彻底搞清楚为什么要 在 Python 代码里多使用异常。随后,你会邂逅两个与异常有关的案例故 事,其中一个是我的亲身工作经历。  
  • 第 6 章 循环与可迭代对象 循环也许是所有编程语言里最为重要的 控制结构。要写好 Python 里的循环,不光要掌握循环语法本身,还得对 循环的最佳拍档——可迭代对象了然于胸。在本章的基础知识板块,我会 详细介绍可迭代对象的相关知识。  
  • 第 7 章 函数 Python 中的函数与其他编程语言里的函数很相似, 但又有着些许独特之处。在本章中,你会学习与函数有关的一些常见技 巧,比如:为何不应该用可变类型作为参数默认值、何时该用 None 作为 返回值,等等。案例故事板块会展示一个有趣的编程挑战题,通过故事主 人公的解题经历,你会掌握给函数增加状态的三种方式。在编程建议板 块,你会读到一份脚本案例代码,它完整诠释了抽象级别对于函数的重要 性。  
  • 第 8 章 装饰器 装饰器是一个独特的 Python 语言特性。利用装饰 器,你可以实现许多既 优雅又实用的工具。本章的基础知识板块非常详细,教你掌握如何创 建几类常用的装饰器,比如用类实现的装饰器、使用可选参数的装饰器 等。在编程建议板块,我会展示装饰器的一些常见使用场景,分析装饰器 的独特性所在。相信学完本章内容之后,你一定可以变身为装饰器方面的 高手。  
  • 第 9 章 面向对象编程 Python 是一门面向对象编程语言,因此, 好的 Python 代码离不开设计优良的类和对象。在这一章中,你会读到一 些与 Python 类有关的常用知识,比如什么是类方法、什么是静态方法, 以及何时该使用它们等。此外,在本章的基础知识板块,你还会详细了解 鸭子类型的由来,以及抽象类如何影响了 Python 的类型系统。本章的案 例故事是一个与类继承有关的长故事。它会告诉你为什么继承是一把双刃 剑,以及如何才能避开由继承带来的问题。  
  • 第 10 章和
  • 第 11 章 面向对象设计原则 要写出好的面向对象代 码,经典的 SOLID 设计原则是我们学习路上的必经之地。在这两章里,我 会通过一个大的编程实战项目诠释 SOLID 原则的含义。通过学习这部分内 容,你会掌握如何将 SOLID 原则运用到 Python 代码中。  
  • 第 12 章 数据模型与描述符 数据模型是最重要的 Python 进阶知 识,或许没有之一。恰当地运用数据模型是写出高效 Python 代码的关键 所在。本章一开始会简单回顾书中出现过的所有数据模型知识。在基础知 识板块,我会对运算符重载做一些简单介绍。在案例故事板块,你会读到 一个与数据模型和集合类型有关的有趣故事。  
  • 第 13 章 开发大型项目 如何开发好一个大型项目,是个非常庞大 的话题。在本章中,我精选了一些与之相关的重要主题,比如,在大型项 目中使用哪些工具,能让项目成员间的协作事半功倍,提升每个人的开发 效率。在此之后,我会介绍两个常用的 Python 单元测试工具。本章最后 介绍了为大型项目编写单元测试的 5 条建议。希望这些内容对你有所启 发。