Python基础

知识库简介

本知识库由两层组成:原有 Python 100 天公开课程作为冻结参考层;新增 Agent工程路线/ 作为本路线独立维护的必修层。目标不是把 100 天内容逐页背完,而是先掌握“环境—数据边界—可靠性—测试—并发—工具契约”这条工程主线,再按项目需要回到公开课程学习 Web、数据库和数据分析。

原教程图片路径

原教程有少量图片链接写死了重命名前的 Python-100-Days-master 目录名。为同时遵守“原教程正文不改”和“不要恢复旧目录”的要求,本轮未改写这些原文件,也未创建旧目录别名;若个别旧页面图片未显示,请在当前课程同级的 res/ 目录中查看原资源。新增路线中的 wikilink 已按当前 Python基础 路径验证。

资料时点与兼容性

Python、第三方库和安装方式会变化。本入口于 2026-07-14 核对:Python.org 的最新稳定版为 Python 3.14.6;Python 3.15 仍为预发布分支,不作为默认生产基线。原教程包含不同时期的生态示例,运行前应先读对应依赖说明,并以项目锁定版本和当前官方文档为准。新增路线尽量兼容 Python 3.11+;配套示例的实际本机验证版本与结果见本页“验证记录”,不能据此声称所有 Python 版本均已验证。

冻结参考层中的已知不可运行或不安全示例

以下问题于 2026-07-19 在本地审计确认。它们保留用于理解历史 API,不是当前运行指引:

  • Python 语言进阶把裸 coroutine 交给 asyncio.wait();在本项目 Python 3.11.9 会直接抛出 TypeError: Passing coroutines is forbidden。现代代码应先创建 Task,或根据取消与错误语义选择 gather() / TaskGroup,不要原样运行该片段。
  • Day31-35/code/example24.py 对真实站点使用 ssl=False,又缺少连接/总超时、状态码与响应大小检查;不要关闭证书校验或直接请求示例中的站点。练习时改用本地 fixture/测试服务器,并显式验证超时、状态、大小和解析失败。
  • 公开课/年薪50W+的Python程序员如何写代码/code/Python/opencourse/part01/example10.py 会连续请求真实第三方页面,硬编码 BaiduSpider User-Agent,且没有 timeout、状态检查或站点政策核对。不要直接运行;教学测试默认使用本地 HTML fixture,真实采集必须使用诚实可联系的身份、限速,并先核对 robots 与服务条款。
  • 公开课的 requirements.txt 是 2020 年上游环境快照,含多组旧版和平台相关依赖。不要在现代环境直接执行 pip install -r;只在隔离环境为当前练习声明最小依赖、重新解析并测试。
  • Day31-35/code/example01.py 的查找算法现在可在无绘图库环境中导入和测试;只有执行 main() 绘制复杂度曲线时才需要 matplotlib 与 numpy(可在隔离环境运行 python -m pip install matplotlib)。

这些文件属于冻结第三方参考层,因此本轮没有改写其正文或代码;公开站继续按既有规则只提供来源说明。当前可运行做法以本页 Agent工程路线/ 为准。

内容边界与使用方法

层级位置用途编辑边界
Agent 工程必修层Agent工程路线/从环境、类型和 I/O 进入可靠性、测试、并发、CLI 与工具契约本知识库当前维护层
公开课程参考层Day01-20/、Day21-30/ 等原目录补语法、面向对象、Web、数据分析和历史生态保持上游课程正文、代码和资源不变
配套验证层Agent工程路线/04-项目与自测/examples/新路线的离线 JSON 任务队列及单元测试只演示标准库最小边界,不等于生产系统

完全没有编程经验时,先通过下方“零基础先修门”,再完成 12 节 Agent 工程路线;已有基础者可用检查清单直接判断是否跳过。之后若仍有概念不熟,再按每节前置链接或“公开课程选择性复习”回补。不要把公开课程的旧依赖示例直接复制到生产项目。

原有单页 Python Agent 工程最小实践 及其根级 examples/ 保持原样,作为历史快速入口;本轮增强版只放在新路线自己的项目目录中,避免覆盖既有材料。

在总路线中的位置

Python 是工程基础中的编程主线。后续 API、数据清洗、RAG、Tool Calling、MCP 和 Agent 框架都需要你能看懂函数、字典/列表、异常、文件、JSON、模块和测试。先完成本页的“最小必修”,再进入 API 与 LLM 应用;Web 框架和数据科学章节可以按需回补。

学习目标

  • 在 Windows 11 + PowerShell 7 中创建 venv,用 python -m pip 安装依赖。
  • 使用变量、分支、循环、函数、模块、列表、字典和集合表达任务逻辑。
  • 用类型提示和数据类表达内部模型,同时对不可信输入做运行时校验。
  • 读写显式 UTF-8 与 JSON,限制资源并区分语法、结构和业务错误。
  • 设计异常、总时限、有限重试、日志、测试、取消和并发上限。
  • 构建可复现运行的 CLI,并为 API、RAG 或 Agent 工具写“小而深”的 Python 执行边界。

前置知识

  • 会在资源管理器中定位文件夹,并能在 PowerShell 中运行命令。
  • 不要求编程经验。遇到旧版截图或库 API 时,先理解概念,再核对当前文档。

开始前:环境与版本

在独立练习目录中运行:

python --version
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip

如果 python 不是预期解释器,先用 Get-Command python 查看来源。.venv 是本机环境,不应加入 vault 或 Git。只有明确需要更快的环境/依赖管理时,再学习 uv;初学阶段先理解 venv + pip 的职责。

推荐学习顺序

零基础先修门

按顺序完成这些冻结教程入口:

  1. 初识 Python、第一个 Python 程序:会保存并运行 .py,能读 traceback 的文件名和行号。
  2. 变量与类型、分支、循环:能用数据、条件与重复表达步骤。
  3. 列表、字符串、集合、字典:会创建、遍历、索引和更新常用容器。
  4. 函数和模块:能写一个接收参数、返回结果的函数,并从另一个文件导入它。

进入 Agent 工程主线前,闭卷完成:读取一个字符串列表,过滤空白项,统计各字符串出现次数,并把逻辑拆成函数。若能解释 list、dict、参数、返回值和异常信息,可继续;否则先完成相应练习,而不是跳到 dataclass 或异步代码。

Agent 工程主线(必修)

第一段:基础与边界

  1. 解释器、虚拟环境与依赖:先分清 Python、venv、pip、声明和锁定,之后再选择 uv。
  2. 类型提示与数据模型:用类型表达内部契约,但不把注解误当运行时验证。
  3. 函数、模块与依赖注入:分开纯核心与副作用适配器。
  4. 文件、JSON 与输入校验:从字节、编码、语法、结构到业务约束逐层拒绝坏输入。

第二段:可靠性与测试

  1. 异常、超时、重试与资源管理:把失败、总预算、幂等和收尾写进契约。
  2. 配置、日志与敏感信息:让运行可诊断,同时不泄漏凭据和内容。
  3. 单元测试、Mock 与回归:用确定性测试覆盖成功、边界和失败路径。

第三段:并发、交付与工具契约

  1. 异步、并发、取消与限流:只为等待型 I/O 引入受控并发。
  2. 项目结构、CLI 与可复现运行:把脚本变成稳定、可自动化调用的项目入口。
  3. Agent 工具函数设计:把模型建议和真实执行隔在验证、权限与审计之后。
  4. 项目:可靠任务队列:离线实现 JSON 输入、校验、报告、CLI 与测试。
  5. 全库自测与掌握检查:闭卷解释并从空目录完成两项综合任务。

公开课程选择性复习

以下入口保留原教程的学习价值,不代表其第三方库版本仍是当前推荐。

语法与程序控制

  1. 初识 Python:了解解释器、安装与适用范围。
  2. 第一个 Python 程序:从编辑、运行、报错位置开始。
  3. 变量与类型、运算符:理解值、类型和表达式。
  4. 分支、循环:让程序依据条件重复或停止。
  5. 分支与循环实战:用小题验证控制流,而不是只读语法。

数据结构与函数

  1. 列表、字符串:处理有序数据和文本。
  2. 集合、字典:做去重、查找和 JSON 风格记录。
  3. 函数和模块、函数进阶:把可复用逻辑收进明确接口。
  4. 面向对象入门:先会读类和对象;不要为了“高级”把简单函数强行改成类。

I/O、测试与并发补充

  1. 文件读写与异常处理:所有外部输入都可能失败。
  2. 序列化与反序列化、CSV:理解边界数据格式。
  3. 正则应用:用于轻量文本提取,不把复杂解析全交给正则。
  4. 单元测试:让输入、输出和失败行为可重复验证。
  5. 获取网络资源:作为 API 学习的前导;真实调用要补超时、重试与认证安全。
  6. 并发编程入门:只在确有等待/吞吐问题时学习,不把并发当默认答案。

按项目选修

动手实践与项目入口

完成 项目:可靠任务队列:读取 JSON 任务,限制输入,校验字段,统计状态并输出报告。配套代码位于 Python基础/Agent工程路线/04-项目与自测/examples/,不联网、不需要密钥;先自行实现,再对照示例和测试。随后使用 全库自测与掌握检查 闭卷验收。

推荐练习顺序:

  1. 为每个必修章节手敲一个最小例子,故意制造一次异常并解释 traceback。
  2. 给示例新增一种非法输入和对应失败测试。
  3. 把“读取—校验—处理—输出”画成四段数据流,标出每段的类型和错误。

掌握标准

  • 能从空目录创建/激活 venv,并解释它与 Python 解释器、pip 的关系。
  • 能独立写出包含函数、类型提示、if、for、列表和字典的程序。
  • 能以 encoding="utf-8" 读写文本,能解析 JSON 并校验必需字段。
  • 能区分语法错误、类型/值错误、I/O 错误和业务校验错误。
  • 能写至少 3 个单元测试,并让失败测试提供有意义的信息。
  • 能说明程序是否有网络、文件写入、凭据或重复执行副作用。
  • 遇到旧教程 API 时会去官方文档核对,不凭印象猜参数。

与其他知识库的关系

验证记录

  • 当前路线示例仅使用 Python 标准库;已在本机 Python 3.11.9 运行 unittest,23 项测试全部通过,并完成两个 .py 文件的 AST 解析和示例 JSON 解析。冻结参考层的 example01.py 算法测试也可在没有绘图库的基础环境中单独运行;绘图入口仍需按上方说明安装可选依赖。
  • 公开课程参考层共 714 个文件;本轮仅对 Day31-35/code/example01.py 做了局部可测试性修复(延迟加载可选绘图库),没有批量改写其余历史依赖或硬编码图片路径。
  • 未在 Python 3.14 解释器、真实网络 SDK、权限系统或生产部署中运行;因此这些环境仍属于明确未验证项。

主要参考资料

获取日期:2026-07-14。