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¶
-  Part of the Stable ABI since version 3.11.Python 运行时版本号编码在一个整数常量中,所用格式与 PY_VERSION_HEX宏的相同。 这包含了在运行时使用的 Python 版本。在 3.11 版本加入. 
所有提到的宏都定义在 Include/patchlevel.h。