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会连续请求真实第三方页面,硬编码BaiduSpiderUser-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 的职责。
推荐学习顺序
零基础先修门
按顺序完成这些冻结教程入口:
- 初识 Python、第一个 Python 程序:会保存并运行
.py,能读 traceback 的文件名和行号。 - 变量与类型、分支、循环:能用数据、条件与重复表达步骤。
- 列表、字符串、集合、字典:会创建、遍历、索引和更新常用容器。
- 函数和模块:能写一个接收参数、返回结果的函数,并从另一个文件导入它。
进入 Agent 工程主线前,闭卷完成:读取一个字符串列表,过滤空白项,统计各字符串出现次数,并把逻辑拆成函数。若能解释 list、dict、参数、返回值和异常信息,可继续;否则先完成相应练习,而不是跳到 dataclass 或异步代码。
Agent 工程主线(必修)
第一段:基础与边界
- 解释器、虚拟环境与依赖:先分清 Python、
venv、pip、声明和锁定,之后再选择uv。 - 类型提示与数据模型:用类型表达内部契约,但不把注解误当运行时验证。
- 函数、模块与依赖注入:分开纯核心与副作用适配器。
- 文件、JSON 与输入校验:从字节、编码、语法、结构到业务约束逐层拒绝坏输入。
第二段:可靠性与测试
- 异常、超时、重试与资源管理:把失败、总预算、幂等和收尾写进契约。
- 配置、日志与敏感信息:让运行可诊断,同时不泄漏凭据和内容。
- 单元测试、Mock 与回归:用确定性测试覆盖成功、边界和失败路径。
第三段:并发、交付与工具契约
- 异步、并发、取消与限流:只为等待型 I/O 引入受控并发。
- 项目结构、CLI 与可复现运行:把脚本变成稳定、可自动化调用的项目入口。
- Agent 工具函数设计:把模型建议和真实执行隔在验证、权限与审计之后。
- 项目:可靠任务队列:离线实现 JSON 输入、校验、报告、CLI 与测试。
- 全库自测与掌握检查:闭卷解释并从空目录完成两项综合任务。
公开课程选择性复习
以下入口保留原教程的学习价值,不代表其第三方库版本仍是当前推荐。
语法与程序控制
- 初识 Python:了解解释器、安装与适用范围。
- 第一个 Python 程序:从编辑、运行、报错位置开始。
- 变量与类型、运算符:理解值、类型和表达式。
- 分支、循环:让程序依据条件重复或停止。
- 分支与循环实战:用小题验证控制流,而不是只读语法。
数据结构与函数
- 列表、字符串:处理有序数据和文本。
- 集合、字典:做去重、查找和 JSON 风格记录。
- 函数和模块、函数进阶:把可复用逻辑收进明确接口。
- 面向对象入门:先会读类和对象;不要为了“高级”把简单函数强行改成类。
I/O、测试与并发补充
- 文件读写与异常处理:所有外部输入都可能失败。
- 序列化与反序列化、CSV:理解边界数据格式。
- 正则应用:用于轻量文本提取,不把复杂解析全交给正则。
- 单元测试:让输入、输出和失败行为可重复验证。
- 获取网络资源:作为 API 学习的前导;真实调用要补超时、重试与认证安全。
- 并发编程入门:只在确有等待/吞吐问题时学习,不把并发当默认答案。
按项目选修
- 数据处理:从 数据分析概述 进入 NumPy、pandas 与可视化。
- 机器学习:从 浅谈机器学习 了解流程,再回到专门的机器学习知识库。
- API 设计:网络 API 接口设计;其中具体框架/版本需按当前文档复核。
- 测试与交付:软件测试与自动化测试。
动手实践与项目入口
完成 项目:可靠任务队列:读取 JSON 任务,限制输入,校验字段,统计状态并输出报告。配套代码位于 Python基础/Agent工程路线/04-项目与自测/examples/,不联网、不需要密钥;先自行实现,再对照示例和测试。随后使用 全库自测与掌握检查 闭卷验收。
推荐练习顺序:
- 为每个必修章节手敲一个最小例子,故意制造一次异常并解释 traceback。
- 给示例新增一种非法输入和对应失败测试。
- 把“读取—校验—处理—输出”画成四段数据流,标出每段的类型和错误。
掌握标准
- 能从空目录创建/激活
venv,并解释它与 Python 解释器、pip的关系。 - 能独立写出包含函数、类型提示、
if、for、列表和字典的程序。 - 能以
encoding="utf-8"读写文本,能解析 JSON 并校验必需字段。 - 能区分语法错误、类型/值错误、I/O 错误和业务校验错误。
- 能写至少 3 个单元测试,并让失败测试提供有意义的信息。
- 能说明程序是否有网络、文件写入、凭据或重复执行副作用。
- 遇到旧教程 API 时会去官方文档核对,不凭印象猜参数。
与其他知识库的关系
- 数据结构基础 与 JSON 深化容器、复杂度和跨系统数据契约。
- API 把函数调用扩展为跨进程 HTTP 契约。
- 数据清洗、机器学习 与 数据可视化 使用 Python 处理和验证数据。
- Tool Calling(含 Function Calling)、MCP 与 Agent 核心 要求工具函数可校验、可观察、可恢复且受授权。
- Git、Linux命令、MLOps 和 LLMOps 负责版本、服务器和交付环境。
验证记录
- 当前路线示例仅使用 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。
- Python 3.14 官方教程
- Python 3.14.6 发布页
- Python 3.15.0b3 发布页:预发布,不作为默认生产基线。
- Python
venv文档 - Python Packaging User Guide:安装包
- PyPA:编写
pyproject.toml - uv 项目指南:在
venv + pip之后按需学习。 - Python 100 Days 上游仓库:本目录原课程的来源入口;本轮没有改写原课程正文。