posts

《Python编程入门》 · 全书目录与章节索引(61 篇)

《Python编程入门》全 61 篇,是一套面向零基础的 Python 3 完整教材:从语言诞生史与执行模型讲起,依次覆盖开发环境、数据类型、函数与作用域、模块与包、面向对象、异常与资源管理、迭代器与装饰器、类型注解,再到标准库精要、并发与异步、测试与打包、Web 开发与数据处理,最后用一个完整项目收尾。本页给出全书分章目录。

《Python编程入门》全 61 篇,是一套面向零基础的 Python 3 完整教材:从「Python 为什么长这样」讲到语言全貌,再落到标准库、工程实践与一个能跑通的完整项目。

本页是《Python编程入门》的全书目录:按章节顺序列出全部 61 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读。

全书概览

项目内容
书稿《Python编程入门》
篇数61 篇(正文 18 章 54 节 + 序 / 前言 / 目录 + 附录 A–D)
领域Python 3 语言基础与工程实践
阅读方式从目录篇 进入按顺序通读,或按章节表跳读
实测版本Python 3.14.6,基线 requires-python = ">=3.12"
上级专题书稿专题

全书目录

前置:序、前言与目录

节文章核心内容
—序《Python编程入门》的序。从 Python 今天在语言生态中的位置谈起,说明…
—前言《Python编程入门》前言:说明本书的目标读者与前置知识、四部分 18 章的结…
—目录《Python编程入门》全书导航页:说明本书定位、读者画像与前置知识、三条学习路…

第 1 章 认识 Python

节文章核心内容
1.11.1 Python 的诞生与设计哲学本节从 1989 年圣诞假期 Guido van Rossum 起意写一个「业余…
1.21.2 Python 2 到 3、发布节奏与版本选择本节讲清 Python 历史上最痛的一次断代:2008 年 Python 3.0…
1.31.3 解释器实现与执行模型本节拆开 CPython 的执行模型:源码经过词法与语法分析生成 AST,再编译…

第 2 章 开发环境与工具链

节文章核心内容
2.12.1 安装 Python 与虚拟环境本节从零安装 Python:先对比 macOS、Windows、Linux 三种…
2.22.2 编辑器、REPL 与第一个脚本环境装好后,本节带你选编辑器并把解释器指向上节建好的虚拟环境;随后系统讲解 RE…
2.32.3 项目结构与 pyproject.toml 初探单文件脚本撑不起真实项目。本节先讲一个标准 Python 项目该长什么样,对比…

第 3 章 基本数据类型

节文章核心内容
3.13.1 数值、字符串与 f-string 格式化本节讲透 Python 的四大标量类型:int 的任意精度与位数限制、float…
3.23.2 列表、元组、字典与集合本节系统讲解 Python 的四种内建容器:list、tuple、dict、se…
3.33.3 可变与不可变、引用语义与拷贝本节揭开 Python 对象模型的核心:变量只是绑定到对象的「名字」,而不是存放…

第 4 章 流程控制与函数

节文章核心内容
4.14.1 条件、循环与推导式本节讲清 Python 的流程控制与推导式:先梳理哪些值为假,再拆解 if/el…
4.24.2 函数:参数传递、默认值与作用域本节把函数讲透:从定义与文档字符串说起,拆解位置、默认、args、仅关键字、…
4.34.3 一等函数、lambda 与 functools本节核心事实是:Python 里函数是对象,能被赋值、放进容器、当参数传、当返回…

第 5 章 模块、包与导入

节文章核心内容
5.15.1 import 机制与模块搜索路径本节从「Python 是怎么找到并加载模块」出发,讲透 import 的三种形式…
5.25.2 包、init.py 与相对导入本节聚焦「包」这种组织模块的方式:有 init.py 的目录发生了什么、…
5.35.3 循环导入、命名空间包与惰性导入本节处理导入体系里最易踩坑的三类问题:循环导入的成因与三种真实修法(调整导入位置…

第 6 章 面向对象编程

节文章核心内容
6.16.1 类、实例与属性查找(MRO)本节从 class 语句做了什么讲起,厘清 init 是初始化器而非构造…
6.26.2 继承、组合与 dataclass本节讲清继承语法与 super() 的含义——它不是父类而是 MRO 里的下一个…
6.36.3 魔术方法与运算符重载本节讲清魔术方法如何让自定义对象融入 Python 语法:str 与 _…

第 7 章 异常与资源管理

节文章核心内容
7.17.1 异常层次与 try/except/else/finally本节讲 Python 的异常机制。先从异常沿调用栈向上传播说起,梳理基类与普通异…
7.27.2 自定义异常、异常链与错误设计本节讲如何设计一套可维护的异常体系。先讲自定义异常的写法:继承哪个基类、怎样携带…
7.37.3 上下文管理器与 with本节讲 Python 的上下文管理器与 with 语句。先说明 with 解决的…

第 8 章 迭代器、生成器与装饰器

节文章核心内容
8.18.1 可迭代协议、迭代器与生成器很多人把可迭代对象和迭代器当成同一件事,这恰恰是理解 for 循环与生成器的第一…
8.28.2 生成器进阶:send / yield from 与惰性管道yield 不只是用来吐出值的。本节从 send() 讲起,说明生成器为什么被称…
8.38.3 装饰器原理与实战装饰器本质是函数到函数的高阶函数,@deco 只是 f = deco(f) 的语…

第 9 章 类型注解

节文章核心内容
9.19.1 类型注解语法与 pyright / mypy类型注解是 Python 静态分析的地基,运行时却几乎不做任何检查。本节从「写了…
9.29.2 泛型、Protocol、TypedDict 与 PEP 695当同一段逻辑要处理多种类型时就需要泛型。本节从 TypeVar 与 bound…
9.39.3 运行时校验与 Pydantic 入门静态类型检查器只能看代码,看不到运行时流入的 JSON、环境变量与用户输入。本节…

第 10 章 文本、文件与序列化

节文章核心内容
10.110.1 字符串处理与正则 re字符串方法全景、切片与不可变、三种格式化的取舍与 f-string 调试写法、e…
10.210.2 文件 I/O、pathlib 与编码从 open() 的模式与 encoding 参数讲起,说清为什么必须显式指定编…
10.310.3 JSON / CSV / TOML 与序列化安全json.dumps/loads 的 ensure_ascii、indent、s…

第 11 章 时间、日志与命令行

节文章核心内容
11.111.1 datetime、zoneinfo 与时区datetime 与时区是 Python 最易踩坑的标准库之一。本节从时间戳讲起…
11.211.2 logging 与结构化日志print 无法分级、无法定向、无法关闭。本节讲清 logging 的 Logg…
11.311.3 argparse 与命令行工具sys.argv 太原始,argparse 是标准库自带的命令行解析方案。本节覆…

第 12 章 并发与网络

节文章核心内容
12.112.1 GIL 与线程/进程模型GIL 让同一时刻只有一个线程执行 Python 字节码。本节讲清它保护什么、为…
12.212.2 concurrent.futures 与 multiprocessing线程池与进程池共享同一套 concurrent.futures 接口:submi…
12.312.3 socket、HTTP 客户端与 requests/httpx从 TCP/IP 分层讲起,用 socket 手写能跑通的 echo serve…

第 13 章 异步编程入门

节文章核心内容
13.113.1 async/await 与事件循环协程函数调用后只返回一个协程对象,不 await 就静默不执行。本节从 asyn…
13.213.2 asyncio 任务、并发与超时取消create_task 立刻调度、gather 要 await 才跑。本节对比…
13.313.3 异步生态与常见陷阱同步库直接写进 async 会阻塞整个事件循环。本节用本地服务实测 reques…

第 14 章 测试与质量

节文章核心内容
14.114.1 pytest 基础与断言从 unittest 的写法对比切入 pytest:讲清 test_ 前缀的自动…
14.214.2 fixture、参数化与 mock把测试从单条函数升级为可复用、可组合的工程:讲清 fixture 的参数注入与四…
14.314.3 覆盖率、ruff/mypy 与 CI 门禁从 pytest-cov 的实跑报告讲起,说明 100% 行覆盖不等于测到边界,…

第 15 章 打包、依赖与发布

节文章核心内容
15.115.1 pyproject.toml 与依赖管理从 setup.py 与 requirements.txt 的历史包袱讲起,用…
15.215.2 构建 wheel、入口点与发布 PyPI构建产物 sdist 与 wheel 到底差在哪?本节逐段解码 wheel 文件…
15.315.3 版本约束、锁定与可复现构建锁定依赖是可复现构建的地基。本节先拆 pip freeze 为何不可复现,再对比…

第 16 章 Web 开发入门

节文章核心内容
16.116.1 HTTP 与 WSGI / ASGI从一次真实的 HTTP 交互出发,看懂请求行、状态码、响应头与消息体;再分别手写…
16.216.2 FastAPI 快速上手用 FastAPI 写下第一个真实可跑的 API:路径参数、查询参数、Pydan…
16.316.3 数据校验、依赖注入与数据库访问把 Pydantic 校验、FastAPI 依赖注入与 SQLAlchemy 2…

第 17 章 数据处理与自动化

节文章核心内容
17.117.1 文件批处理与办公自动化用 pathlib 与 shutil 把散落的文件批量重命名、按扩展名归类、安全…
17.217.2 网络爬虫基础与合规边界从合规边界讲起:用 urllib.robotparser 解析 robots.t…
17.317.3 数据分析入门把 pandas 与 polars 放在一起讲:用同一份 50 万行销售数据各跑…

第 18 章 综合项目与学习路径

节文章核心内容
18.118.1 从零构建一个完整项目把全书串起来做一个真项目:用 src 布局、pyproject.toml 与模块…
18.218.2 性能剖析与优化入门先测量再优化:用 perf_counter 与 timeit 做微基准并识别四大…
18.318.3 学习路径与生态选型本书收尾章:给出 Web 后端、数据工程、自动化与工具三条学习路线的下一步顺序,…

附录

节文章核心内容
—附录 A:Python 语法速查表本附录把全书用到的 Python 语法压缩成一组速查表:字面量与运算符优先级、字…
—附录 B:标准库常用模块速查本附录按用途分组整理 Python 标准库常用模块:文本与字符串、数据结构、函数…
—附录 C:常用第三方库与资源本附录按场景汇总 Python 生态里的常用第三方库:包管理与环境、代码质量、测…
—附录 D:常见错误与解决方案本附录分两半:报错速查按异常类型列出真实报错原文、成因与修法,覆盖 Syntax…
全部文章 Game Golang SaaS Rust Python Java 游戏开发 客户端开发 GameDev TypeScript
python

《Python编程入门》7.3 上下文管理器与 with

本节讲 Python 的上下文管理器与 with 语句。先说明 with 解决的资源成对获取与释放问题,再拆解上下文管理协议的两个特殊方法、退出方法的三个参数,以及返回真值即吞掉异常的机制;随后用 contextlib 的装饰器把生成器改造成上下文管理器,介绍抑制异常与动态管理多个资源两个工具;最后给出 with 管理多资源时的等价展开,并解释文件、锁、数据库连接为何都该做成上下文管理器。

8 分钟阅读
Python Python编程入门 上下文管理器
python

《Python编程入门》7.2 自定义异常、异常链与错误设计

本节讲如何设计一套可维护的异常体系。先讲自定义异常的写法:继承哪个基类、怎样携带结构化字段、如何重写字符串表示;再讲异常链,用真实回溯区分隐式链与显式链,说明何时该用 from 保留原始错误、何时用 from None 切断噪音;随后给出库作者的异常设计原则,包括定义基类、让调用方能精确捕获、不用异常做正常控制流,以及宽泛捕获后重新抛出的正确姿势;最后介绍警告机制与弃用装饰器。

7 分钟阅读
Python Python编程入门 自定义异常
python

《Python编程入门》7.1 异常层次与 try/except/else/finally

本节讲 Python 的异常机制。先从异常沿调用栈向上传播说起,梳理基类与普通异常的分层结构,解释为什么不要写裸 except、也不该捕获最顶层的基类异常;再用可运行代码演示四段捕获结构的执行顺序、返回值与清理块的交互,以及多重 except 中子类必须写在父类前面的原因。最后介绍异常组与带星号的分支语法、assert 在优化模式下被整体删除的陷阱,以及异常相对返回值的性能代价。

8 分钟阅读
Python Python编程入门 异常处理
python

《Python编程入门》6.1 类、实例与属性查找(MRO)

本节从 class 语句做了什么讲起,厘清 __init__ 是初始化器而非构造函数,实例属性与类属性的区别及可变类属性被所有实例共享的陷阱;再讲方法绑定中 self 的来源、property 与 setter、staticmethod 与 classmethod 的取舍,用 __mro__ 说清属性查找顺序与 C3 线性化,最后用 tracemalloc 实测 __slots__ 的内存收益。

6 分钟阅读
Python Python编程入门 类与实例
python

《Python编程入门》5.3 循环导入、命名空间包与惰性导入

本节处理导入体系里最易踩坑的三类问题:循环导入的成因与三种真实修法(调整导入位置、TYPE_CHECKING 类型专用导入、把共享部分抽到第三个模块)、PEP 420 命名空间包的机制与适用场景,以及惰性导入的几种做法,含尚未正式发布的 3.15 PEP 810 预览。最后用 python -X importtime 看导入与启动时间的关系。

8 分钟阅读
Python Python编程入门 循环导入
python

《Python编程入门》5.2 包、__init__.py 与相对导入

本节聚焦「包」这种组织模块的方式:有 __init__.py 的目录发生了什么、空文件与写满代码的 __init__.py 各有什么代价、from 包.模块 import 名字 如何逐层解析、相对导入「只能在包内使用」的硬约束从何而来。还讲了 __all__ 对 import * 的控制、用 importlib 动态导入,以及预导入在易用性与启动时间间的取舍。

7 分钟阅读
Python Python编程入门 包与模块
python

《Python编程入门》5.1 import 机制与模块搜索路径

本节从「Python 是怎么找到并加载模块」出发,讲透 import 的三种形式及差异、模块对象与名字绑定的区别、sys.modules 缓存带来的「模块只执行一次」语义,以及 sys.path 的构成与搜索顺序。重点用真实实验对比 python -m 与直接运行脚本时 sys.path[0] 的不同,解释相对导入为何会报错,并说明 __name__ 守卫的原理。

7 分钟阅读
Python Python编程入门 import 机制
python

《Python编程入门》4.2 函数:参数传递、默认值与作用域

本节把函数讲透:从定义与文档字符串说起,拆解位置、默认、*args、仅关键字、**kwargs 五种参数形态,以及调用时用 * 和 ** 解包。重点讲清默认值只在定义时求值一次的陷阱,它和 3.3 节的可变默认参数一脉相承。随后用 LEGB 规则解释名字查找,说明 global 与 nonlocal 的用法并给出闭包示例,最后介绍类型注解、lru_cache 与 partial。

7 分钟阅读
Python Python编程入门 函数
python

《Python编程入门》4.1 条件、循环与推导式

本节讲清 Python 的流程控制与推导式:先梳理哪些值为假,再拆解 if/elif/else、条件表达式、for 与 while、循环 else 子句、break 与 continue,以及 range、enumerate、zip(含 strict=True)。随后用列表、字典、集合、生成器四种推导式替代啰嗦循环,划清嵌套推导式边界,最后介绍 3.10 起的 match/case 模式匹配。

8 分钟阅读
Python Python编程入门 流程控制
python

《Python编程入门》3.3 可变与不可变、引用语义与拷贝

本节揭开 Python 对象模型的核心:变量只是绑定到对象的「名字」,而不是存放值的盒子。我们用 id、is 与 == 的真实实验讲清同一性与相等性的区别,实测小整数缓存与字符串驻留的边界,演示可变默认参数这个经典陷阱,对比 copy.copy 与 copy.deepcopy 在处理嵌套结构与循环引用时的差异,并说明函数传参为什么叫「传对象引用」。

6 分钟阅读
Python Python编程入门 引用语义
python

《Python编程入门》3.2 列表、元组、字典与集合

本节系统讲解 Python 的四种内建容器:list、tuple、dict、set。先给出有序性、可变性与查找复杂度的对比表,再分别讲透列表的增删改查与带步长的切片、元组的解包与不可变的真实含义、字典的哈希要求与插入有序、集合的去重与交并差运算,并介绍 collections 中的 deque、Counter、defaultdict 与 namedtuple,最后用实测数据说明何时该换容器。

5 分钟阅读
Python Python编程入门 容器类型
python

《Python编程入门》3.1 数值、字符串与 f-string 格式化

本节讲透 Python 的四大标量类型:int 的任意精度与位数限制、float 的 IEEE 754 二进制表示误差、bool 作为 int 子类的真相,以及 complex 复数。随后深入字符串的不可变性与 Unicode 码位和字节的区别,系统讲解 f-string 的对齐、精度、千分位与嵌套宽度等格式化语法,并对比 % 与 .format() 的适用场景,为后续容器与文本处理打好基础。

5 分钟阅读
Python Python编程入门 数据类型
python

《Python编程入门》2.3 项目结构与 pyproject.toml 初探

单文件脚本撑不起真实项目。本节先讲一个标准 Python 项目该长什么样,对比 src 布局与平铺布局的取舍,说明 tests、README、.gitignore 各放什么;再拆开 pyproject.toml 的三段结构(build-system、project、tool),讲清 requires-python 的含义;最后贴出 uv init 实际生成的文件内容,让你照着就能搭起项目骨架。

7 分钟阅读
Python Python编程入门 pyproject.toml
python

《Python编程入门》2.2 编辑器、REPL 与第一个脚本

环境装好后,本节带你选编辑器并把解释器指向上节建好的虚拟环境;随后系统讲解 REPL 在 3.13 之后的改进(多行编辑、语法高亮、直接输入 exit 退出),以及 python -c、python -m、python -i 三种命令行用法;最后写出并实际运行第一个脚本,讲清 __name__ 判断这个惯用法的作用,并附命令行速查与常见报错排查清单。

8 分钟阅读
Python Python编程入门 REPL
python

《Python编程入门》2.1 安装 Python 与虚拟环境

本节从零安装 Python:先对比 macOS、Windows、Linux 三种平台各自的安装方式与坑,再解释 python 与 python3 的历史包袱;随后用一整段讲清「为什么必须用虚拟环境」,手把手创建、激活、退出 venv 并读懂 pyvenv.cfg;最后介绍 pyenv 管理多版本和 uv 这一新一代工具,用真实的 PATH 对比说明「激活」到底改了什么。

7 分钟阅读
Python Python编程入门 虚拟环境
python

《Python编程入门》1.3 解释器实现与执行模型

本节拆开 CPython 的执行模型:源码经过词法与语法分析生成 AST,再编译成字节码,最后由虚拟机执行。我们会用 ast 打印语法树、用 dis 真实反汇编一段代码,看到 3.14 的新字节码指令与常量折叠。随后对比 CPython、PyPy、实验性 JIT 与自由线程构建的关系,说明「Python 是解释型语言」并不准确。读完本节,你能用 dis 观察任何一段代码在解释器眼里的样子。

7 分钟阅读
Python Python编程入门 解释器
python

《Python编程入门》1.2 Python 2 到 3、发布节奏与版本选择

本节讲清 Python 历史上最痛的一次断代:2008 年 Python 3.0 为什么必须与 Python 2 决裂,print 语句、整数除法、str 与 bytes 这三处改动到底带来了什么,以及迁移的代价。随后介绍 PEP 602 确立的年度发布节奏与五年支持期,用一张表对比 3.12、3.13、3.14 的实际差异,并给出版本选择建议。读完本节,你能对「该用哪个版本」给出有依据的答案。

7 分钟阅读
Python Python编程入门 版本管理