首页 / Python3 入门教程 / Python 解释器与交互模式

Python3 入门教程

Python 解释器与交互模式

本教程共 70 篇 · 第 4 篇 · 更新于 2026-07-22 · 约 5 分钟阅读

PythonPython3 入门教程Python 解释器IPython交互模式字节码

4. Python 解释器与交互模式

本节目标:深入理解 Python 解释器的工作方式,掌握交互模式的进阶技巧。

什么是解释器

你写的 Python 代码,计算机是看不懂的。需要有一个「翻译」把它转成机器能执行的指令,这个翻译就是解释器(Interpreter)

Python 是解释型语言。和 C/C++ 这种编译型语言不同,Python 不需要先编译成可执行文件。代码保存为 .py 文件后,解释器逐行读取、逐行执行。好处是开发快、调试方便;代价是运行速度比编译型语言慢一些。

Note

严格来说,Python 代码会先被编译成字节码(.pyc 文件),再由虚拟机执行。这个过程对你透明,不需要手动操作。

启动解释器的多种方式

1. 命令行交互模式

python

进入后提示符变成 >>>,适合快速验证想法、测试小段代码。

2. 执行脚本文件

python hello.py

这是正式运行程序的方式。一次性执行文件里的全部代码。

3. 执行单行代码

python -c "print(1 + 2)"

-c 参数后面跟一段字符串代码,适合临时执行简单任务。

4. 以模块方式运行

python -m http.server 8000

-m 参数运行指定模块。上面这行会在当前目录启动一个简易的 HTTP 文件服务器,在浏览器访问 localhost:8000 就能浏览文件。

5. 执行后进入交互模式

python -i hello.py

-i 参数让脚本执行完后不退出,而是进入 >>> 交互模式。方便你继续操作脚本里定义的变量和函数。

交互模式小技巧

自动打印结果

交互模式有个便利之处:表达式的结果会自动打印,不用写 print()

>>> 3 + 5
8
>>> "Hello" + " World"
'Hello World'

但在 .py 文件里,表达式不写 print() 是不会有输出的。这一点经常让新手困惑。

上下箭头浏览历史

>>> 里按上下箭头,可以调出之前输入过的代码。按回车就能重新执行,或修改后再执行。

Tab 自动补全

输入几个字母后按 Tab,会自动补全变量名、函数名。如果有多项匹配,按两次 Tab 列出所有选项。

>>> pr<Tab>          # 自动补全为 print
>>> print(<Tab><Tab> # 列出 print 的参数提示

内建帮助系统

忘了某个函数怎么用?用 help()

>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    ...

q 退出帮助页面。

也可以用 ? 在 IPython 里查(见下文),更简洁。

特殊变量 _

交互模式里,上一个表达式的结果会自动存入 _(下划线):

>>> 100 + 200
300
>>> _ * 2
600

这在连续计算时很方便。

安装 IPython(进阶)

如果觉得默认的交互模式功能太单薄,可以安装 IPython。它提供了更强大的自动补全、语法高亮、魔法命令等功能。

pip install ipython

安装后启动:

ipython

IPython 的亮点

彩色输出和语法高亮:代码更易读,错误信息更醒目。

魔法命令:以 % 开头的特殊命令。常用的是:

In [1]: %timeit sum(range(1000))    # 测试代码运行时间
In [2]: %run hello.py               # 运行脚本文件
In [3]: %history                    # 查看输入历史

? 快速查文档

In [1]: print?        # 查看 print 的文档
In [2]: str.upper??   # 查看源码(如果可用)
Tip

IPython 也是 Jupyter Notebook 的核心。后面学数据分析时,你会经常遇到它。现在先知道有这么个更强的交互工具就行。

交互模式 vs 脚本模式

交互模式脚本模式
用途测试、学习、调试正式运行程序
代码保存不保存,退出即消失保存在 .py 文件
输出表达式结果自动打印必须写 print()
错误处理出错后停留在当前状态出错后程序终止

我的建议是:学习新概念时先在交互模式里试,验证通过后再写到 .py 文件里保存。两者结合,效率最高。


来源:参考了 runoob「Python3 解释器」、liaoxuefeng「Python 解释器」、pythondoc「使用 Python 的解释器」「交互式编辑和编辑历史」、w3cschool「Python3 解释器」等,改写后所得。