KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

04 · 常用命令,以及什么时候别用它 — keel 龙骨

## 现场:用得最多的其实只有那么几条

现场:用得最多的其实只有那么几条

到这一步,你已经能跑自己的代码、也能跑别人的。真正会拦住你的,剩下两件事:

一是**「这个动作该敲什么」——每次都要回去翻刚才那一章;
二是
「我是不是应该用它」**——AI 时代这个问题反而更常见:手上有个活儿,用 Python 还是不用?

这一章把这两件事一次给完:一张能带走的速查表,加一个「什么时候别用它」的判断。

一、一张能带走的速查表

python 后面接不同的东西,做的是完全不同的事——这是最容易记混的一处:

你想干什么 敲什么 说明
看装的是哪个版本 python --version 输出形如 Python 3.13.14
进交互式环境试试看 python 出现 >>>;exit() 退出
跑一个文件 python hello.py 没有回显,只出 print 的内容
临场跑一行,不建文件 python -c 'print(sum([1,2,3]))' 直接输出 6
跑标准库里的现成工具 python -m json.tool data.json 把一个 JSON 文件排版成缩进格式
建一个项目专属环境 python -m venv .venv 安静执行,目录里多出 .venv/
看看装了什么包 pip list 只列当前这一份解释器里的包

-m 这个写法值得单独记一句:它的意思是「不要跑文件,去跑一个模块」。
json.tool、http.server、venv 都是标准库自带的模块,
所以「想临时起一个本地小服务」这种事不用装任何东西。(python -m json.tool 的真实输出:

{
    "b": 2,
    "a": [
        1,
        2
    ]
}

缩进与换行是它加的,不是原文件里就有的。)

二、什么时候别用它

五类场景,都是真会撞上的,不是假想:

场景 为什么别用 该用什么
要跑在浏览器里的东西 浏览器不认识 Python,只认 JavaScript JavaScript / TypeScript
要发给不懂技术的人、双击就用的桌面小工具 打包成独立程序是它的弱项,对方还得先装 Python 交给 Electron / Go 之类的方案
对启动速度 / 内存极敏感 解释器自己就要启动时间与内存,这类场景它起手就欠一截 编译型语言
纯 CPU 密集、又不能装 C 扩展 循环里做重计算的纯 Python 很慢(能调库就另说) 换语言,或换一个有 C/Rust 实现的库
你的仓库已经全是另一门语言 引入第二门语言是净成本:两套工具链、两套依赖管理 就用仓库现有那门

一条把它们串起来的共同线索:这五类都不是「Python 写不出来」,
而是瓶颈不在「写起来省不省力」,而在「跑在哪、怎么发出去、跟谁接上」。
判断的时候不要问「能不能写」,要问「卡点在哪」——卡点在写法上,Python 划算;
卡点在运行环境或交付形态上,换工具更省事。

三、它不是什么

读完你能做什么

到这里,这门课的四章走完了。 你已经能:确认环境、跑出结果、读懂三类报错、
把别人给的代码在自己机器上跑起来,并判断什么时候不该用它。
想接着往下走,去《Python 工程基础》——
那边不再讲「怎么跑起来」,而是讲「同一段代码为什么有人一眼能看出埋了雷」。

进入 keel 阅读