# API 和 ABI 版本管理

`PY_VERSION_HEX` 是Python的版本号的单一整数形式。

例如, 如果 "PY _ VERSION _ HEX" 设置为 "0x0304012", 则可以通过按以下方式将其视为32位数字来查找基础版本信息:

> 字节串 | 位数（大端字节序） | 含义
> --- | --- | ---
> `1` | `1-8` | `PY_MAJOR_VERSION` （`3.4.1a2` 中的 `3` ）
> `2` | `9-16` | `PY_MINOR_VERSION` （`3.4.1a2` 中的 `4` ）
> `3` | `17-24` | `PY_MICRO_VERSION` （`3.4.1a2` 中的 `1` ）
> `4` | `25-28` | `PY_RELEASE_LEVEL` (`0xA` 是 alpha版本, `0xB` 是 beta版本, `0xC` 发布的候选版本并且 `0xF` 是最终版本)，在这个例子中这个版本是alpha版本。
> | `29-32` | `PY_RELEASE_SERIAL` （ `3.4.1a2` 中的 `2` ，最终版本用0)

因此 `3.4.1a2` 的16进制版本号是 `0x030401a2` 。

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