Skip to content

Python 解释器

我们通常说 Python 是一种“解释型语言”,这意味着我们编写的 Python 代码需要通过一个名为“解释器”的程序来执行。理解解释器是什么以及它如何工作,有助于我们更深入地了解 Python。

什么是解释器?

简单来说,Python 解释器是一个程序,它负责读取你的 Python 代码(.py 文件),将其翻译成计算机硬件能够理解的指令,然后执行这些指令。

这个过程大致分为两步:

  1. 编译成字节码:解释器首先将你的源代码(人类可读的文本)编译成一种中间形式,称为“字节码”(.pyc 文件)。字节码是一种低级、与平台无关的表示形式,比源代码更接近机器码,因此执行起来更高效。
  2. 由虚拟机执行:然后,这个字节码由 Python 虚拟机(Python Virtual Machine, PVM)来执行。PVM 是解释器的一部分,是真正运行代码的引擎。

因为有编译到字节码这一步,所以严格来说 Python 是“编译型”和“解释型”的混合体,但我们通常还是称其为解释型语言,因为它提供了交互式的编程体验。

解释器的两种工作模式

1. 交互模式 (Interactive Mode)

这是 Python 解释器的一个强大功能,也称为 REPL(Read-Eval-Print Loop,读取-求值-打印-循环)。

你可以在终端(命令提示符或 PowerShell)中直接输入 pythonpython3 命令来启动交互模式。你会看到一个提示符,通常是 >>>

bash
$ python
Python 3.9.7 (default, Sep 10 2021, 14:59:43)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

现在,你可以直接输入任何 Python 代码,按下回车后,解释器会立即执行并打印结果。

python
>>> print("Hello, World!")
Hello, World!
>>> 2 + 3
5
>>> name = "Python"
>>> name
'Python'

交互模式非常适合用于:

  • 快速测试一小段代码。
  • 学习和探索语言特性。
  • 进行简单的计算。
  • 调试。

要退出交互模式,可以输入 exit() 或按下 Ctrl+D (在 Unix-like 系统) 或 Ctrl+Z 然后回车 (在 Windows)。

2. 脚本模式 (Script Mode)

这是最常见的运行 Python 程序的方式。你将代码保存在一个以 .py 结尾的文件中(例如 my_script.py),然后告诉解释器去执行这个文件。

my_script.py:

python
# 这是一个 Python 脚本
name = "Alice"
print(f"Hello, {name}!")

在终端中,使用 python 命令加上文件名来运行它:

bash
$ python my_script.py
Hello, Alice!

解释器会从头到尾执行文件中的所有代码。

不同的 Python 解释器实现

当我们说“Python”时,我们通常指的是 CPython。这是官方的、用 C 语言实现的、最常用和最标准的 Python 解释器。

但除了 CPython,还有其他一些解释器实现,用于不同的目的:

  • Jython: 用 Java 语言实现,可以将 Python 代码编译成 Java 字节码,在 Java 虚拟机(JVM)上运行。这使得 Python 可以无缝地与 Java 代码和库集成。
  • IronPython: 用 C# 实现,运行在 .NET 平台上。类似于 Jython,它使得 Python 可以与 .NET 生态系统集成。
  • PyPy: 用 Python 语言自身实现(准确地说是 RPython)。它包含一个“即时编译器”(Just-In-Time, JIT),能够显著提高长时间运行的程序的执行速度,是 CPython 的一个高性能替代品。

本站内容仅供学习和研究使用。