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 版本。

   Added in version 3.11.

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