把“写完代码按下回车”之后发生的所有故事,像放电影一样逐帧讲给你听。
理解这一章,你就能解释“为什么 Python 不需要编译也能跑”“为什么第一次运行会卡顿一下”“为什么 .pyc 文件会冒出来”这些灵魂三问。
程序员视角:两步走 👨💻
- 新建一个普通文本文件,后缀改成
.py。 - 命令行敲
python xxx.py,屏幕瞬间出结果——完事儿。
看起来只有两步,幕后其实暗流涌动。
Python 视角:三部大戏 🎬
源码 → 字节码(编译阶段)
- 解释器先把你的
.py文件一次性翻译成「字节码」(bytecode)。 - 字节码是平台无关的中间语言,类似 Java 的
.class,但人类可读性更差。 - 翻译结果默认缓存到
__pycache__/*.cpython-312.pyc,下次源码没改动就直接复用,跳过编译,启动提速。
字节码 → 虚拟机(执行阶段)
- 字节码被送进「Python 虚拟机」(PVM)。
- PVM 是一个超级大的 switch-case 循环,逐条指令跑:压栈、求值、弹出、跳转……
订阅专栏 解锁全文
3631

被折叠的 条评论
为什么被折叠?



