API 和 ABI 版本管�¶

CPython 在下列�中暴露其版本�。 请注�这对应于 编译 用版本代�,而�是 �行时 使用的版本。

请�阅 C API 的稳定性 查看跨版本的 API 和 ABI 稳定情。

PY_MAJOR_VERSION¶

3 (3.4.1a2 中的第一段)。

PY_MINOR_VERSION¶

4 (3.4.1a2 中的第二段)。

PY_MICRO_VERSION¶

1 (3.4.1a2 中第三段的数字)。

PY_RELEASE_LEVEL¶

a (3.4.1a2 中第3段的字�)。 �能为 0xA � alpha, 0xB � beta, 0xC � release candidate 或 0xF � final。

PY_RELEASE_SERIAL¶

2 (3.4.1a2 中的末尾数字)。 零代表最终�布版。

PY_VERSION_HEX¶

编�为�个整数形�的 Python 版本�。

底层的版本信��通过按以下方�将其当作 32 比特的数字处��获�:

字节串

�数(大端字节�)

��

3.4.1a2 的值

1

1-8

PY_MAJOR_VERSION

0x03

2

9-16

PY_MINOR_VERSION

0x04

3

17-24

PY_MICRO_VERSION

0x01

4

25-28

PY_RELEASE_LEVEL

0xA

29-32

PY_RELEASE_SERIAL

0x2

这样 3.4.1a2 ��六进制版本�的 0x030401a2 而 3.10.0 ��六进制版本�的 0x030a00f0。

用于进行数值比较,例如 #if PY_VERSION_HEX >= ...。

该版本还�通过符� Py_Version 获�。

const unsigned long Py_Version¶
属于 稳定 ABI 自 3.11 版开始.

Python �行时版本�编�在一个整数常�中,所用格�与 PY_VERSION_HEX �的相�。 这包�了在�行时使用的 Python 版本。

在 3.11 版本加入.

所有�到的�都定义在 Include/patchlevel.h。