第一章 初识 Python
我第一次装 Python。官网下载exe文件、双击exe文件打开、点击下一步、安装完成,一路顺利。然后我打开命令行敲下python,屏幕上蹦出一行字。
'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。我当时愣在那儿,以为把电脑搞坏了。后来才知道,安装向导里有个复选框我没勾。
这一章要介绍的,就是让你别再栽在这个坑里,顺便把环境、工具、常见报错、第一个能跑的程序一次性交代清楚。面向零基础,不需要你懂任何编程概念。
我会按照下面内容讲解。
第一章 初识 Python │ ├── 1. Python 概述 → 它是什么、能干什么、凭什么这么火 ├── 2. 搭建开发环境 → 装解释器、配 PATH、建虚拟环境、pip 换源 ├── 3. 开发工具 → IDLE / VS Code / PyCharm / Jupyter 怎么选 ├── 4. 难点解答 → 新手必踩的 10 个坑,逐个给解药 ├── 5. 实战 → 3 个能跑起来、能拿去炫耀的小程序 └── 6. 小结 → 一张表收口 + 5 道练习题 + 下一章预告说真的,别只阅读。每个代码块都自己敲一遍,手指的肌肉记忆比脑子可靠。
一、Python 概述
1.1 Python 是一门什么样的语言
1989 年的圣诞节,荷兰程序员Guido van Rossum(国内习惯叫他「龟叔」)闲着没事干,决定写一门语言打发假期。1991 年,第一个公开发行版 0.9.0 出来了。
顺便说个冷知识,名字来自英国喜剧团体Monty Python(巨蟒剧团),跟蛇没关系。图标上那两条蛇是后来才画上去的。
关于它,先记住三件事。
| 关键点 | 结论 |
|---|---|
| 版本选择 | Python 2 已在2020 年 1 月 1 日正式停止维护,现在学的只能是Python 3 |
| 出身性格 | 免费、开源、跨平台(Windows / macOS / Linux 通吃) |
| 江湖地位 | TIOBE 榜上常年待在第一梯队,数据科学和 AI 领域基本是默认语言 |
1.2 Python 程序是怎么跑起来的
很多人以为 Python 是「纯解释型」,其实它是先编译成字节码、再交给虚拟机解释执行的混合模式。把这张图看懂,后面好几个困惑会自己消失。
你写的源码 一步:编译 二步:解释执行 ┌───────────┐ ┌────────────────┐ ┌─────────────────┐ ┌────────┐ │ hello.py │ ───▶ │ 字节码 .pyc │ ──▶ │ Python 虚拟机 │ ──▶ │ 结果 │ │ (人能看懂) │ │ (存在__pycache__)│ │ PVM (机器执行) │ │ 输出到屏幕│ └───────────┘ └────────────────┘ └─────────────────┘ └────────┘看懂之后能推出三件事。
- 第一次运行会慢一点点,因为要先编译出
.pyc;之后再跑就直接复用字节码了。 - 跨平台靠的就是这层字节码。同一份字节码丢给 Windows、macOS、Linux 上的 PVM 都能跑,代码一行不用改。
__pycache__文件夹删了还会长出来,那是自动生成的字节码缓存,正常现象,别理它。
补充一句,我们平时说装 Python,默认装的是官方实现CPython(用 C 写的那个)。另外还有 PyPy(跑得快)、Anaconda(数据科学发行版)这些,新手先认准 CPython。
1.3 Python 能干什么
一句话概括,除了写操作系统内核,它基本什么都能干,而且大多数活儿都比别的语言省事。
| 领域 | 常用工具库 | 典型场景 |
|---|---|---|
| 人工智能 / 深度学习 | PyTorch、TensorFlow、scikit-learn | 训练模型、调用大模型 API |
| 数据分析 | pandas、NumPy、Matplotlib | Excel 搞不定的表,交给它 |
| Web 后端 | Django、Flask、FastAPI | 网站、接口服务 |
| 网络爬虫 | requests、BeautifulSoup、Scrapy | 自动抓取网页数据 |
| 自动化办公 | openpyxl、python-docx、PyPDF2 | 批量改表格 / Word / PDF |
| 运维 & 测试 | Ansible、pytest、Fabric | 批量管服务器、自动化测试 |
| 桌面小工具 | PySide6、Tkinter | 给自己做个带界面的工具 |
职业场上,Python 大概对应这几条道,后端开发、数据分析、AI 工程师、自动化测试、爬虫工程师。
1.4 凭什么说它最好学
同一个需求,在屏幕上打印一句话。我们通过三种语言的写法摆一起看最直观。
// C 语言 #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; }// Java public class Hello { public static void main(String[] args) { System.out.println("Hello, World!"); } }# Python print("Hello, World!")没有分号,没有花括号,没有main,不用声明类型,缩进本身就是语法结构。这就是它常被当成第一门编程语言的原因,小学初中的信息课也爱选它。
还有个东西新手一定要知道,交互式 REPL。命令行输入python回车,出来>>>提示符,输一行立刻出结果,特别适合试验一下这行代码到底干嘛的。
C:\Users\you> python >>> 1 + 2 * 3 7 >>> "py" * 3 'pypypy' >>> exit()1.5 版本怎么选
打开 python.org 的下载页,你会看到 3.10、3.11、3.12、3.13 好几个版本在排队,新手很容易纠结。我给你三条经验。
- 选最新的次新版,别选刚发布的
.0版本。新版本刚出来时第三方库常常没跟上,装包容易失败。我写这篇的时候稳妥选择是Python 3.11 或 3.12;你读到的时候八成已经出到更高的版本了,别慌,命令都一样。 - 3.11 是性能分水岭。官方的 Faster CPython 计划让 3.11 在自家基准上比 3.10 平均快 25% 左右,具体快多少看你跑什么代码。所以3.11 起步比较划算。
- 选 64 位安装包(Windows 挑 Windows installer (64-bit)),32 位已经是历史了。
查自己版本的方法,后面一直要用。
C:\Users\you> python --version Python 3.12.4二、搭建 Python 开发环境
2.1 全流程一张图
① 官网下载安装包 │ ▼ ② 双击运行安装向导 │ ▼ ③ 【关键】勾选 Add python.exe to PATH ✅← 新手第一次失败,基本都栽在这一步 │ ▼ ④ 命令行验证 python --version │ ▼ ⑤ pip 换成国内源(否则装包慢到怀疑人生) │ ▼ ⑥ 给项目建虚拟环境 │ ▼ ⑦ 开工写第一行代码 🎉2.2 Windows 安装,一步一步来
Step 1|下载
打开官网 Download Python | Python.org,点黄色的大按钮 Download Python 3.12.x,得到python-3.12.x-amd64.exe。
官网慢的话可以找国内镜像。我唯一要提醒的是,别去 XX 软件园下,捆绑的东西够你烦一晚上。
Step 2|安装,勾选那个复选框
双击安装包,界面长这样(文字版贴图)。
┌───────────────────────────────────────────────────────┐ │ Python 3.12.4 (64-bit) Setup │ │ │ │ ☑ Install launcher for all users (recommended) │ │ ☑ Add python.exe to PATH ← 【必须勾上!】 │ │ │ │ ┌──────────────────┐ ┌────────────────────────────┐ │ │ │ Install Now │ │ Customize installation │ │ │ └──────────────────┘ └────────────────────────────┘ │ └───────────────────────────────────────────────────────┘- Install Now会默认装到用户目录,默认带上 pip、IDLE 和文档,新手直接点它就完事。
- Customize installation用来改安装位置,比如装到
D:\Python312。选它的话,建议全勾Optional Features(pip、IDLE、测试套件都是常用件),Advanced Options 里再勾上Disable PATH length limit,解除 Windows 260 字符的路径限制,省掉以后的麻烦。 - 安装路径不要包含中文或空格,否则后面某些库会报一些看不懂的错。默认路径或者
D:\Python312都行。
Step 3|验证
开一个新的命令行窗口(必须是新的,旧窗口不认刚改的 PATH),输入下面这三条。
C:\Users\you> python --version Python 3.12.4 C:\Users\you> pip --version pip 24.0 from C:\Users\you\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12) C:\Users\you> where python C:\Users\you\AppData\Local\Programs\Python\Python312\python.exe三条都有正常回显,环境就算通了。任何一条报错,直接翻到第四节的 Q1。
2.3 macOS / Linux 一句话说明
| 系统 | 做法 | 注意 |
|---|---|---|
| macOS | 官网下.pkg一路下一步;或brew install python@3.12 | 系统自带的是老版 Python 2,别动它,用python3/pip3 |
| Ubuntu / Debian | sudo apt update && sudo apt install python3 python3-pip python3-venv | 命令是python3,不是python |
| CentOS / Rocky | sudo dnf install python3 python3-pip | 同上 |
想用
python这个短命令,可以自己在 PATH 里建软链。但新手我建议别折腾,认准python3就行。
2.4 PATH 到底是什么
┌──────────────┐ 你敲了 "python" ┌──────────────────┐ │ 命令行窗口 │ ──────────────────▶ │ PATH 环境变量 │ │ cmd / PowerShell│ │ (一串目录清单) │ └──────────────┘ └────────┬─────────┘ ▲ │ 挨个目录找 python.exe │ ▼ │ ┌──────────────────────────┐ └── 找到了,启动它 ◀────────│ C:\...\Python312\python.exe│ └──────────────────────────┘ PATH 里没有登记 Python 安装目录 → 报 "不是内部或外部命令"这块我多说两句,因为它值。所谓装了 Python 但命令行找不到,其实就是PATH 里少了那一行路径。知道病因,药方你自己都能开,要么重装时勾上 PATH,要么手动把安装目录加进 PATH。
2.5 pip 换成国内镜像源
pip 是 Python 的包管理器,装第三方库全靠它。默认连国外的 PyPI,国内下载常常龟速,或者直接超时。换源是装机后第一件该干的事。
临时用法,只对这一次生效。
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple永久配置,一次搞定,推荐。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simpleWindows 上跑完会生成配置文件%APPDATA%\pip\pip.ini,内容是这样。
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple timeout = 30常用国内源,挑一个顺眼的用。
| 镜像 | 地址 |
|---|---|
| 清华(推荐) | https://pypi.tuna.tsinghua.edu.cn/simple |
| 阿里云 | https://mirrors.aliyun.com/pypi/simple |
| 豆瓣 | https://pypi.douban.com/simple |
| 中科大 | https://pypi.mirrors.ustc.edu.cn/simple |
装完验收一下。
C:\Users\you> pip install requests Successfully installed requests-2.32.3 charset-normalizer-3.3.2 idna-3.7 urllib3-2.2.12.6 虚拟环境,给每个项目一间独立的房间
假设项目 A 要 Django 2.2,项目 B 要 Django 4.2,而你只有一个全局 Python。虚拟环境就是给每个项目复制一套私有的 Python 和第三方库,互相不打扰。
全局 Python(系统级) ├── 项目A 的虚拟环境 venv/ ← Django 2.2 ├── 项目B 的虚拟环境 venv/ ← Django 4.2 └── 项目C 的虚拟环境 venv/ ← 只有 pandas 2.x 三个虚拟环境互不干扰 ✅四条命令。
# 1. 进入你的项目目录后,创建虚拟环境(venv 是文件夹名,可自定义) python -m venv venv # 2. 激活:Windows(cmd) venv\Scripts\activate # 激活成功会看到提示符前面多了 (venv) (venv) D:\code\myproject> # Windows(PowerShell)首次可能需放行脚本执行策略: # Set-ExecutionPolicy -Scope CurrentUser RemoteSigned # 3. 激活后正常装包,包只进这个环境 pip install requests # 4. 干完活退出虚拟环境 deactivatemacOS / Linux 的激活命令换成source venv/bin/activate,其余一模一样。
一个标准的项目目录长这样。
myproject/ ├── venv/ ← 虚拟环境,千万别提交到 Git │ ├── Scripts/ ← Windows:activate、python.exe │ └── Lib/site-packages/ ← 这里装的第三方库 ├── main.py ← 你的代码 ├── requirements.txt ← 依赖清单,pip freeze > requirements.txt 生成 └── README.md换台机器想还原环境,先把依赖导出去pip freeze > requirements.txt,到了新机器上再pip install -r requirements.txt装回来。这是团队协作的基操。
三、Python 开发工具
3.1 主流工具横向对比
| 工具 | 优点 | 缺点 | 适合谁 |
|---|---|---|---|
| IDLE | 随 Python 自带、零配置 | 功能太简陋,写大文件难受 | 只想知道代码能不能跑的第一天 |
| VS Code⭐ | 免费、轻、启动快、插件生态最强 | 需要自己装插件折腾一下 | 几乎所有人都推荐的主力编辑器 |
| PyCharm Community | 智能补全 / 调试 / 重构最强,开箱即用 | 吃内存,专业版要钱 | 做中大型项目的开发者 |
| Jupyter Notebook | 单元格逐个执行、代码 + 图表 + 文字混排 | 工程化项目管理弱 | 数据分析、AI 实验、教学演示 |
| 在线环境(Colab 等) | 不用装环境、有免费算力 | 要联网,文件在云端 | 临时试一段代码、没机器时 |
3.2 我的推荐,VS Code
第一步|安装。去 code.visualstudio.com 下载,一路下一步。
第二步|装扩展。Ctrl+Shift+X 打开扩展商店,搜名字然后 Install。
| 扩展名 | 作用 | 是否必装 |
|---|---|---|
| Python(Microsoft 官方) | 语法高亮、调试、解释器切换 | ✅ 必装 |
| Pylance | 智能补全、类型提示 | ✅ 必装 |
| Chinese (Simplified) 中文包 | 界面汉化 | 看心情 |
| Code Runner | 右键一键运行当前文件 | 可选,新手很爽 |
第三步|选解释器。这一步新手最容易卡住。Ctrl+Shift+P,输入Python: Select Interpreter,选你刚建的venv里那个 Python。选完,VS Code 左下角会显示Python 3.12.4 ('venv')。
第四步|写第一个文件并运行。新建hello.py,输入代码,按右上角 ▶ 或Ctrl+F5,结果出现在底部终端面板里。
小技巧,装了 Python 扩展之后,文件要先保存成
.py后缀,语法高亮才会生效。这个坑我自己踩过,建了个没后缀的文件,盯着一屏黑白代码看了半天。
3.3 想玩数据分析,装 Jupyter
pip install jupyter jupyter notebook浏览器会自动打开localhost:8888,右上角 New → Python 3 新建一个 Notebook。它的玩法是写一格、Shift+Enter执行一格,结果直接跟在下面,边算边记笔记。科研和 AI 圈几乎人手一份,原因就在这儿。
3.4 到底选哪个
我要开始写 Python 了,用啥? │ ├── 只是想验证一下这行代码对不对 ────────▶ Python 交互式窗口(>>>) ├── 零基础上手,还不打算装别的软件 ──────▶ IDLE ├── 想长期学、将来做项目/找工作 ─────────▶ VS Code ⭐(本文推荐) ├── 做大工程、需要强力重构和调试工具 ─────▶ PyCharm └── 搞数据分析/AI、要代码和图表混排 ─────▶ Jupyter Notebook我自己的建议是Python 3.12 + VS Code + venv。不是别的组合不行,是这套我用了很久,出问题的时候搜资料也最好搜。
四、难点解答,10 个新手几乎都会踩的坑
Q1|输入python提示「不是内部或外部命令」
'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。原因很简单,安装时没勾Add python.exe to PATH(见 2.4 节那张图)。三种修法,挑一个顺手的。
- 重新运行安装包 → 选Modify→ 勾上 Add python.exe to PATH → Install,最省事。
- 手动加 PATH,系统设置 → 高级系统设置 → 环境变量 → 用户变量 Path → 新增
C:\Users\你\AppData\Local\Programs\Python\Python312和...\Python312\Scripts。 - 临时应急,用完整路径调用,比如
C:\Users\you\AppData\Local\Programs\Python\Python312\python.exe hello.py。
改完 PATH必须重开命令行窗口才生效。经典的「我明明改了却没用」,几乎都是没重开窗口导致的。
Q2|输入python弹出了 Microsoft Store
Windows 自带的应用执行别名在捣乱。设置 → 应用 → 高级应用设置 → 应用执行别名,把python.exe和python3.exe两个开关关掉。或者直接把 Store 里那个 Python 卸了。
Q3|python、py、python3到底有什么区别
- Windows 上,
py是官方启动器,专门管多版本。py --list看装了哪些,py -3.11 script.py指定版本跑。 - Linux / macOS 上,
python往往指向系统自带的 Python 2,python3才是我们刚装的那个。记住用python3/pip3。 - 统一建议,进了自己的项目,认准虚拟环境激活后那个
python,就永远不会错。
Q4|pip 安装卡住半天,报 ReadTimeoutError
典型报错长这样,pip._vendor.urllib3.exceptions.ReadTimeoutError。换国内源(见 2.5 节),或者临时把超时时间放宽。
pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout 60Q5|出现SSL: CERTIFICATE_VERIFY_FAILED
公司或校园网的代理把证书拦了。换国内源,再加个信任标记。
pip install 包名 -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.comQ6|IndentationError: unexpected indent
Python 靠缩进来表达代码块,空格和 Tab 不能混用。统一用4 个空格,VS Code 里打开设置搜 Insert Spaces 勾上,再搜 Tab Size 设成 4。想省事就装个 flake8,它会自动提示。
# ❌ 错误示范:混用导致报错 def hi(): print("hello") print("world") # IndentationError # ✅ 正确示范:同级对齐,统一 4 空格 def hi(): print("hello") print("world")Q7|代码里有中文就乱码
Python 3 的源码默认就是 UTF-8,所以问题几乎都出在终端上。
- Windows cmd 临时解决,敲
chcp 65001切成 UTF-8 代码页(注意要重开或刷新)。 - PowerShell 我建议直接换成Windows Terminal,微软商店免费下,UTF-8 默认就没问题。
- 保底写法,在文件第一行加
# -*- coding: utf-8 -*-,把编码声明写死在源码里。
Q8|双击.py文件,黑色窗口一闪而过
程序跑完窗口就关了,跟报错无关。想看清输出,有三种办法。
- 在命令行里跑
python hello.py,这才是正经方式。 - 代码最后加一句
input("按回车键退出...")。 - 用 VS Code 或 PyCharm 运行,终端不会自动关。
Q9|PermissionError/ 拒绝访问
- 装包时遇到,用管理员身份打开终端,或者加
--user只装给当前用户pip install --user 包名。 - 读写文件时遇到,先确认那个文件没被 Excel 或记事本开着,路径里也没有中文和特殊字符。
Q10|多个项目依赖互相冲突
这就是虚拟环境存在的理由,回头看2.6 节。铁律只有一句,一个项目一个 venv,业务包永远别往全局装。
如果上面这些招都没救回来,最快的办法就是卸载、重装、勾上 Add python.exe to PATH。五分钟解决战斗,一点都不丢人,我自己装废过两次。
五、实战,动手写三个能跑的程序
先在顺手的位置建个练习目录,比如D:\code\python-learn\chapter01\,本章代码都放这儿。下面三个例子逐个敲一遍并跑通,别复制粘贴了事。
实战一|Hello, World! 的三种姿势
姿势 A,交互式 REPL,适合试验一句话。
C:\> python Python 3.12.4 ... >>> print("Hello, World!") Hello, World! >>> print("你好,Python!") 你好,Python! >>> exit()姿势 B,写成脚本文件,这才是真正的开发方式。
新建hello.py,内容只有一行。
print("Hello, World!")保存后在命令行跑。
D:\code\python-learn\chapter01> python hello.py Hello, World!姿势 C,VS Code 里一键运行。打开hello.py,右上角 ▶ 或Ctrl+F5,底部终端面板出现同样的输出。
这几行代码里藏着三件事。
print()是个函数,作用是把括号里的内容输出到屏幕。- 引号包起来的
"Hello, World!"叫字符串,表示一串文字。 - 文件后缀必须是
.py,解释器会从上到下一行行执行。
实战二|摄氏度 ↔ 华氏度转换器
第二个程序加进了输入、类型转换和分支判断,实用性立刻不一样了。
# temp_converter.py # 摄氏度 <-> 华氏度 双向转换器 print("========== 温度转换器 ==========") print(" 1. 摄氏度 → 华氏度") print(" 2. 华氏度 → 摄氏度") print("================================") choice = input("请选择转换方向(输入 1 或 2):") if choice == "1": celsius = float(input("请输入摄氏度:")) fahrenheit = celsius * 9 / 5 + 32 print(f"{celsius}℃ = {fahrenheit:.1f}℉") elif choice == "2": fahrenheit = float(input("请输入华氏度:")) celsius = (fahrenheit - 32) * 5 / 9 print(f"{fahrenheit}℉ = {celsius:.1f}℃") else: print("输入有误,请重新运行程序并选择 1 或 2。")跑起来是这样。
D:\code\python-learn\chapter01> python temp_converter.py ========== 温度转换器 ========== 1. 摄氏度 → 华氏度 2. 华氏度 → 摄氏度 ================================ 请选择转换方向(输入 1 或 2):1 请输入摄氏度:36.5 36.5℃ = 97.7℉几个关键点拆开说。
| 语法 | 作用 |
|---|---|
input("提示语") | 等待用户从键盘输入,返回值永远是字符串 |
float(...)/int(...) | 类型转换,把字符串变成数字,否则"36.5" * 9会报错或变成重复字符串 |
f"{变量}文字" | f-string 格式化,变量直接写进字符串里,Python 3.6+ 首选写法 |
:.1f | 保留一位小数,输出更体面 |
if / elif / else | 分支判断,注意条件后面有冒号,下一行必须缩进 |
想找点刺激就输入 abc,会直接抛ValueError。报错信息是新手最好的老师,读完再想想要怎么让用户重新输入(提示,while循环配try/except,后面章节会讲)。
实战三|猜数字游戏
第三个程序加了随机数、循环和退出机制,已经是个完整的小游戏了。
# guess_number.py import random target = random.randint(1, 100) # 生成 1~100 的随机整数 count = 0 print("我已经想好了一个 1~100 之间的整数,来猜猜看!") print("(随时输入 q 退出游戏)") while True: answer = input("请输入你猜的数字:") if answer.lower() == "q": print(f"答案是 {target},下次再来挑战!") break guess = int(answer) count += 1 if guess > target: print("大了!再往小猜一点 👇") elif guess < target: print("小了!再往大猜一点 👆") else: print(f"🎉 恭喜,第 {count} 次猜中,答案就是 {target}!") break随手跑一局。
D:\code\python-learn\chapter01> python guess_number.py 我已经想好了一个 1~100 之间的整数,来猜猜看! (随时输入 q 退出游戏) 请输入你猜的数字:50 小了!再往大猜一点 👆 请输入你猜的数字:75 大了!再往小猜一点 👇 请输入你猜的数字:63 小了!再往大猜一点 👆 请输入你猜的数字:69 🎉 恭喜,第 4 次猜中,答案就是 69!关键点还是拆开说。
import random引入标准库的 random 模块,random.randint(1, 100)生成 1 到 100 之间、两头都算的随机整数。while True:是个无限循环,得靠里面的break才能跳出来。count += 1等价于count = count + 1,用来累计猜了多少次。.lower()把输入统一转小写,这样用户敲大写Q也能退出。- 顺带提一句,1 到 100 的范围,最优策略是每次猜中间值,最多 7 次必中。这就是二分法,算法思维的第一课。
加练|批量重命名文件,尝一口自动化的甜头
把一堆乱七八糟的文件名统一编号,用标准库os就够了。
# batch_rename.py # 安全演示:默认只打印重命名计划,把 dry_run 改成 False 才会真正改名 import os folder = "./photos" # 目标文件夹 prefix = "旅行_" # 新文件名前缀 dry_run = True # True = 只预览;确认无误后再改成 False if not os.path.isdir(folder): print(f"找不到文件夹:{folder},请先把要改名的文件放进去。") else: for index, filename in enumerate(sorted(os.listdir(folder)), start=1): name, ext = os.path.splitext(filename) new_name = f"{prefix}{index:03d}{ext}" print(f"{filename} -> {new_name}") if not dry_run: os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))预览效果是这样。
IMG_2345.jpg -> 旅行_001.jpg IMG_2346.jpg -> 旅行_002.jpg IMG_2347.jpg -> 旅行_003.jpg⚠️ 涉及改名的操作,我习惯先在副本文件夹上试,并且永远保留
dry_run预览这一步。先预览,再执行,这五个字能救你的照片。
六、小结
6.1 本章知识收口表
| 模块 | 你现在应该能做对的事 | 自测(都能做到 = 过关) |
|---|---|---|
| Python 概述 | 说清 Python 的出身、特点和执行方式 | □ 能解释为什么 Python 可以跨平台 |
| 搭建环境 | 独立装好 Python 并验证成功 | □python --version有正确输出 |
| pip 与镜像 | 会用 pip 装包、会配国内源 | □ 30 秒内装完 requests |
| 虚拟环境 | 会建、会激活、会导出依赖 | □ 能说出为什么要用 venv |
| 开发工具 | 装好 VS Code 并选定解释器 | □ 能在 VS Code 里跑起 hello.py |
| 难点排查 | 面对常见报错知道往哪查 | □ PATH、编码、缩进三类问题能自查 |
| 实战编码 | 独立完成 3 个小程序 | □ 不看书能敲出猜数字游戏 |
6.2 五句话记住本章
- 学 Python 3,别学 Python 2,后者 2020 年就停止维护了。
- 安装必勾 PATH,装完先
python --version验货。 - pip 必换国内源,不然时间全耗在进度条上。
- 一个项目一个 venv,这是从新手走向专业的第一道分水岭。
- 代码别抄,用手敲,肌肉记忆才是真学会的标志。
6.3 课后练习
- 输出自我介绍,用 5 行
print()打出你的姓名、城市、爱好、最近在读的书、一句座右铭。 - 半径求面积,输入圆的半径
r,输出面积((S = \pi r^2),π 取 3.14159),结果保留两位小数。 - 给猜数字加限制,只允许猜 7 次,用完还没中就公布答案,再提示一句「再练练」。
- 温度转换器扩展,加上「摄氏度 → 开尔文」(K = ℃ + 273.15)这个选项。
- 挑战题,写个石头剪刀布,用
random.choice(["石头", "剪刀", "布"])让电脑随机出拳,三局两胜制。
6.4 下一章
第二章讲变量、数据类型与运算符等python语言基础,变量的命名规则、字符串的花式操作、运算符优先级,还有一个你迟早会撞上的坑,为什么0.1 + 0.2 != 0.3。到时候你会发现,这一章写的几个程序能用一半的长度重写一遍。
附录|命令速查卡
| 想干什么 | Windows | macOS / Linux |
|---|---|---|
| 看版本 | python --version | python3 --version |
| 跑脚本 | python hello.py | python3 hello.py |
| 进交互模式 | python | python3 |
| 装包 | pip install 包名 | pip3 install 包名 |
| 卸包 | pip uninstall 包名 | 同左 |
| 看已装的包 | pip list | 同左 |
| 导出依赖 | pip freeze > requirements.txt | 同左 |
| 还原依赖 | pip install -r requirements.txt | 同左 |
| 建虚拟环境 | python -m venv venv | python3 -m venv venv |
| 激活虚拟环境 | venv\Scripts\activate | source venv/bin/activate |
| 退出虚拟环境 | deactivate | 同左 |
环境哪天突然崩了很正常,回来照着第二节重装一遍就行。真卡住的时候,把报错信息整段复制去搜,比盯着屏幕猜快得多。