本节摘要:写代码之前,先把三样东西装齐——Python 解释器、代码编辑器、终端。本节解决"程序到底怎么跑起来"这个最基础的困惑:解释器逐行翻译你的代码,编辑器负责写得舒服,终端负责把脚本交给解释器。装完环境,你会亲手跑出第一行输出,并顺带理解后续所有章节的调试为什么都从"看终端报错"开始。
阅读完本节,你应当能够:
全书知识地图上,这一节是最底层的地基:没有它,后面 32 篇都没法动手。而新手第一个卡点往往不是语法,是环境——代码明明一个字母没错,为什么跑不起来?答案几乎总是:执行代码的不是编辑器,是解释器。编辑器只是个打字本,真正逐行读代码、翻译成机器动作的,是 Python 解释器这个独立程序。三者关系可以画成一张图:

到 Python 官网下载对应操作系统的最新稳定版安装包。Windows 安装时务必勾选 Add Python to PATH——这一步漏了,终端就找不到解释器,是新手第一大坑。装完打开终端验证:
python --version # 期望输出(版本号随你安装的时间不同): # Python 3.12.4
如果终端提示找不到命令,先检查 PATH;再不行就检查是不是装了多个版本互相打架。macOS 与 Linux 用户注意,系统自带的可能是旧版 python3,统一用 python3 命令即可。
VS Code 轻量、启动快,装上 Python 扩展后就有补全、报错提示和一键运行;PyCharm 功能更全但更重。全书只用编辑器最基础的能力,选哪个都不影响跟练。
新建一个脚本,内容只有一行:
print("轻记账,启动!")
在终端里切到脚本所在位置运行它(编辑器的一键运行按钮背后做的也是这件事):
> python hello.py 轻记账,启动!
看到这行输出,环境就通了。顺便试试交互模式:直接在终端输入 python 回车,提示符变成 >>>,这时敲一行执行一行,适合验证某个语法的小行为;敲 exit() 退出。验证小语法用交互模式,写正式代码用脚本模式,这个分工贯穿全书。
报错不可怕,它是解释器在给你指路。初次运行最容易撞上三种:
SyntaxError: unterminated string literal
字符串少了右引号。解释器逐行检查时发现一行代码"不合语法",直接拒绝执行。这类错误改掉那一行就好。
NameError: name 'prnt' is not defined
拼错了函数名。解释器执行到这一行才报错——注意区别:语法错误在执行前就被拦下,名字错误要执行到那一行才暴露。这也是后面调试章节强调"报错行号只是起点"的原因。
python: can't open file 'hello.py': No such file or directory
终端当前所在目录不对,找不到脚本。用切换目录的命令到达脚本位置,或运行时写全路径。
一个实用习惯:从报错的最后一行往上读。最后一行是错误类型和原因,倒数第二、三行是出错位置。把错误类型复制去搜索,十有八九一分钟内解决。
把脚本改成三行,体会 print 的多次调用:
print("我是轻记账 v0.0") print("我还没有任何功能") print("但我的作者已经会跑程序了")
运行后终端按顺序打出三行。再试一个变式:把第三行改成 print("但我的作者已经会跑程序了", end=""),end 参数把默认的换行改成空字符,三行变成两行半——这是 print 最常用的参数,后面格式化输出时还会用它。
后面所有章节都要在终端里过日子,先把五个高频动作练顺:
| 动作 | 命令(Windows) | 命令(mac/linux) | 用途 |
|---|---|---|---|
| 看当前位置 | cd(不带参数) |
pwd |
确认自己在哪 |
| 切换目录 | cd 文件夹名 |
cd 文件夹名 |
走到项目里去 |
| 列出文件 | dir |
ls |
看看有什么 |
| 清屏 | cls |
clear |
屏幕太乱刷个屏 |
| 查看文件内容 | type 文件名 |
cat 文件名 |
快速瞄一眼 |
一个新手常见困境值得单独说明:双击脚本文件一闪而过。Windows 下双击会开一个新窗口跑完立即关闭,报错根本来不及看。正确姿势永远是在终端里手动运行——窗口不会消失,报错停在原地供你研究。另外,脚本运行结束时终端有一个"退出码":零代表正常结束,非零代表出错,后面写自动化脚本时这个数字就是机器之间判断成败的语言。
再提供一个提升体验的小配置:在编辑器设置里把"默认终端"选为你顺手的 shell,之后一键运行与手动调试就在同一个环境里,避免了"编辑器里能跑、终端里跑不了"的环境不一致问题——这类问题在团队协作里极其常见,早养成单一环境的习惯,后面省掉无数扯皮。
"...",全角引号是语法错误的高发源头>>> 提示符下适合单行验证,正式代码请放脚本文件环境通了,下一节开始往脚本里放真正的数据——一笔账的金额和用途,该用什么类型来装?