信息层级:【有据可查】= 附官方文档或可信来源链接;【社区共识】= 社区用户普遍经验,未经官方确认;【待考察/推测】= 推测或暂未能核实,请谨慎对待。
官方文档:docs.python.org(含 教程 与 内置函数)。【有据可查】
1. 为什么 AI 时代人人都该会一点 Python?
【社区共识】AI/数据领域的主力语言;Agent 生成的脚本、ComfyUI(ComfyUI 入门:安装、节点、模型文件与第一张图)、大部分模型工具都是 Python。语法接近自然语言,最适合入门。
2. 安装与运行
python3 --version # Windows 上常为 python 或 py
python3 -m venv .venv # 创建虚拟环境(强烈推荐,每个项目一个)
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install requests # 安装第三方库
python3 hello.py
【社区共识】不要用 sudo pip install 往系统 Python 里装包;用虚拟环境,或 uv、pipx 等工具。
3. 语法速查
# 变量与基本类型
name = "Alice" # str
age = 30 # int
height = 1.68 # float
is_ok = True # bool
nothing = None
# 容器
nums = [1, 2, 3] # list 列表,可变
point = (3, 4) # tuple 元组,不可变
user = {"name": "Bob", "age": 25} # dict 字典
tags = {"ai", "python"} # set 集合
# 条件与循环(缩进决定代码块!)
if age >= 18:
print("成年")
elif age > 12:
print("青少年")
else:
print("儿童")
for i, n in enumerate(nums):
print(i, n)
# 函数
def greet(who: str, times: int = 1) -> str:
return f"Hello, {who}! " * times
# 列表推导式
squares = [n * n for n in nums if n % 2 == 1]
# 异常处理
try:
value = int("abc")
except ValueError as e:
print("转换失败:", e)
# 文件读写(with 会自动关闭文件)
with open("notes.txt", "w", encoding="utf-8") as f:
f.write("你好\n")
4. 常用内置函数与标准库
| 内置函数 | 用途 | 例子 |
|---|---|---|
print() |
输出 | print("a", 1, sep=",") |
len() |
长度 | len(nums) |
type() / isinstance() |
类型检查 | isinstance(x, int) |
int() / float() / str() |
类型转换 | int("42") |
range() |
数字序列 | range(0, 10, 2) |
enumerate() / zip() |
带序号遍历 / 并行遍历 | zip(a, b) |
sorted() / reversed() |
排序 / 反转 | sorted(users, key=lambda u: u["age"]) |
sum() / min() / max() |
统计 | max(nums) |
map() / filter() |
函数式处理 | list(map(str, nums)) |
open() |
文件 | 见上 |
input() |
读取用户输入 | — |
dir() / help() |
查看对象有哪些方法 | help(str.split) |
| 标准库模块 | 用途 |
|---|---|
os / pathlib |
文件路径、目录、环境变量 |
sys |
命令行参数 sys.argv、退出 |
json |
读写 JSON |
re |
正则表达式 |
datetime |
日期时间 |
subprocess |
运行外部命令 |
collections |
Counter、defaultdict |
logging |
日志 |
argparse |
命令行参数解析 |
5. 读懂 Traceback
Traceback (most recent call last):
File "/home/me/app.py", line 12, in <module>
main()
File "/home/me/app.py", line 8, in main
total = price * qty
~~~~~~^~~~~
TypeError: can't multiply sequence by non-int of type 'float'
口诀:从下往上读——最后一行是"什么错",最靠下的自己代码行是"在哪错"。【社区共识】
5.1 常见异常对照表
| 异常 | 含义 | 常见原因 |
|---|---|---|
SyntaxError |
语法错误 | 漏冒号、括号不配对、中文标点 |
IndentationError |
缩进错误 | 混用 Tab 与空格、缩进不一致 |
NameError: name 'x' is not defined |
变量不存在 | 拼写错误、未定义就使用 |
TypeError |
类型不对 | "3" + 4、参数个数不对 |
ValueError |
值不合法 | int("abc") |
KeyError: 'name' |
字典没有这个键 | 用 d.get("name") 更安全 |
IndexError: list index out of range |
下标越界 | 循环边界错误 |
AttributeError: 'NoneType' object has no attribute ... |
对 None 调用方法 |
上一步函数没返回值 |
ModuleNotFoundError: No module named 'xxx' |
没装库或不在当前虚拟环境 | 激活虚拟环境后 pip install xxx |
FileNotFoundError |
文件路径不对 | 相对路径以"当前工作目录"为准 |
UnicodeDecodeError |
编码不对 | open(..., encoding="utf-8") |
PermissionError |
无权限 | 文件被占用或无写权限 |
来源:内置异常【有据可查】
6. 和 AI 协作的提示【社区共识】
- 让 AI 写脚本时说明 Python 版本和"只用标准库"或允许的第三方库。
- 报错时贴完整 Traceback。
- AI 生成的脚本若涉及删除文件、网络请求,先读一遍再运行,必要时在沙箱里跑(相关教程(DSH 日常工作流、profile 与进阶用法、Codex 本地使用:安装、权限、项目规则与排错、Claude Code 使用:安装、权限与项目工作流、ZCode 使用:连接模型、执行模式与目标任务、Cursor 使用:项目规则、执行模式与自带 Key、Grok Build 使用:安装、权限、沙箱与目标任务、WorkBuddy 使用:工作空间、文档任务与模型设置、OpenClaw 入门:独立环境、配置与安全边界、Qoder 使用:IDE、CLI、权限与自定义模型、千问办公使用:个人空间、扩展与文档交付))。
7. 本篇无法核实/需谨慎的点
- 报错箭头(
~~~^~~~)等提示格式依 Python 版本而异(3.11+ 更详细)。 - 各平台 Python 命令名(
python/python3/py)不同。
小白练习:把本文流程逐项走通
练习目标:创建独立环境,并确认 pip 与 Python 指向同一解释器。
上文已介绍概念、配置和操作示例。下面侧重第一次实际操作时的顺序、检查点和结果核对;需要查具体参数时回到对应小节。命令逐条输入,看到上一条的结果后再继续。
-
先分别检查系统实际可用的 python、python3 或 py 命令,选择其中一个后贯穿同一练习。
补充说明:Windows 可检查
py --version或python --version,macOS/Linux 可检查python3 --version。后续命令名代表实际选中的解释器,不能无意换成另一套安装。 -
新建项目目录并进入它,再按原文创建 .venv。Windows PowerShell 激活入口是 ..venv\Scripts\Activate.ps1;cmd 与 Bash 入口不同。
补充说明:Windows 创建环境可用
py -m venv .venv,POSIX 环境可用python3 -m venv .venv;再选择当前终端对应的激活命令。cmd 用.venv\Scripts\activate.bat,POSIX Bash 用source .venv/bin/activate。 -
若暂时不能激活,也可以直接调用 .venv 中的 Python,例如 Windows 的 ..venv\Scripts\python.exe。
补充说明:POSIX 环境的直接调用路径为
./.venv/bin/python。用实际解释器执行-c "import sys; print(sys.executable)",确认显示的路径属于本项目的.venv。 -
把 print("Hello, Python!") 保存成 hello.py,再用这个解释器运行,确认看到预期输出。
补充说明:保存为 UTF-8,并显示真实扩展名,避免
hello.py.txt。例如 Windows 运行.\.venv\Scripts\python.exe hello.py,预期看到Hello, Python!。上文较长语法示例应另存为syntax_practice.py,它会输出多行并创建或覆盖练习目录的notes.txt,与一行问候是两份练习。 -
安装依赖时使用同一解释器的 -m pip install,不凭 pip 这个命令名判断环境。
补充说明:例如 Windows 用
.\.venv\Scripts\python.exe -m pip install requests,POSIX 环境用./.venv/bin/python -m pip install requests。安装后由同一解释器执行-c "import requests; print(requests.__version__)"确认;Hello World 本身不需要该包。 -
遇到错误保存完整 Traceback,先读最后一行,再找到属于自己的文件行;最后用小输入复测修复。
补充说明:缩进决定语句所属代码块。速查表中的
d、x、users是片段变量,需要先定义;遇到报错保留完整 Traceback,同时说明所用解释器路径,便于区分代码问题与环境问题。
