Skip to main content

2 Python 编程基础

Python 编程基础主视觉

第 2 章只解决一件事:把一个小想法写成能运行、能保存数据、能处理错误、能讲清楚的 Python 程序

先看 Python 工作闭环

Python AI 主线能力链

先看图。大多数入门 Python 程序都是这个闭环:

输入 -> 数据结构 -> 函数 -> 文件/API/输出

Python 之所以是 AI 主线语言,是因为同一个闭环以后会变成数据清洗、模型训练、RAG 检索、API 封装和 Agent 工具。

学习顺序与任务表

下面这一张表同时作为本章学习指南和任务清单。

页面跟着做留下的证据
2.1.1 Python 介绍2.1.5 流程控制手敲变量、输入输出、条件和循环的小脚本5 个改过并能输出结果的小脚本
2.1.6 数据结构用列表、字典和 JSON 形状对象保存同一组任务一段说明:为什么这个结构更合适
2.1.7 函数基础2.1.8 模块与包把重复逻辑拆成函数和模块一个输入、返回值清楚的脚本
2.2.2 异常处理2.2.3 文件操作保存数据、重新读取,并处理文件缺失或损坏一个 JSON/文本文件和一条调试记录
2.2.1 面向对象2.2.5 迭代器2.2.6 类型提示先浏览,项目需要结构或清晰度时再回头用一个重构过的函数或类
2.3.1 任务管理器2.3.4 AI API 体验做能保存数据、采集数据、提供 API、调用 AI API 的小项目带 README 运行命令的项目文件夹
2.3.5 跟做工作坊串起 CLI 命令、JSON 持久化、统计和报告导出ch02_output/ 和终端输出

本章常见术语:

术语含义
CLICommand-Line Interface,命令行界面:用文字命令操作的程序
I/OInput/Output,输入/输出:数据进入程序,结果从程序出来
JSON适合保存任务、配置、API 返回结果的嵌套文本格式
API一个程序调用另一个程序的入口
SDK把 API 包装成更好调用函数的库

第一个可运行闭环

在一个空练习文件夹里运行下面代码。它不用第三方包,就能做一个极小的 JSON 任务管理器。

import json
from pathlib import Path

DATA = Path("tasks.json")

def load_tasks():
if not DATA.exists():
return []
try:
return json.loads(DATA.read_text(encoding="utf-8"))
except json.JSONDecodeError:
return []

def save_tasks(tasks):
DATA.write_text(json.dumps(tasks, ensure_ascii=False, indent=2), encoding="utf-8")

tasks = load_tasks()
tasks.append({"title": "学习 Python 文件读写", "done": False})
save_tasks(tasks)
print(f"已保存 {len(tasks)} 个任务")

预期输出:

已保存 1 个任务

连续运行两次。第二次应该输出 已保存 2 个任务,这说明程序已经能保存状态并重新读取。

常见失败

现象先检查什么常见修复
语法错误报错行和上一行检查缩进、括号、引号和冒号
文件找不到当前运行目录打印 Path.cwd(),移动文件或改路径
JSON 解析失败文件是否为空或格式损坏try/except,失败时回到空列表
函数看不懂输入、返回值和隐藏的全局状态拆成职责单一的小函数
API 调用失败参数、状态码和返回的错误内容安全打印响应,并处理失败分支

通关检查

能回答下面五个问题,就可以进入第 3 章:

  • 什么数据进入程序?什么结果离开程序?
  • 什么时候字典比列表更合适?
  • 文件路径是相对于哪个文件夹?
  • printreturn 有什么区别?
  • 其他人能不能按 README 运行你的项目?

需要打印式清单时,打开 2.0 学习指南与任务单。下一章会继续用 Python 处理 CSV、分析数据并连接数据库。