Версионирование API и ABI¶API and ABI Versioning
PY_VERSION_HEX – это номер версии Python, закодированный как одно целое число.
Например, если PY_VERSION_HEX установлен в 0x030401a2, то информацию о версии можно получить, рассматривая его как 32-битное число следующим образом:
Байты Биты (порядок big endian) Значение 1 1-8 PY_MAJOR_VERSION (3 в 3.4.1a2) 2 9-16 PY_MINOR_VERSION (4 в 3.4.1a2) 3 17-24 PY_MICRO_VERSION (1 в 3.4.1a2) 4 25-28 PY_RELEASE_LEVEL (0xA для альфа-версии, 0xB для бета-версии, 0xC для кандидата в релиз и 0xF для финальной версии); в данном случае это альфа-версия. 29-32 PY_RELEASE_SERIAL (2 в 3.4.1a2, ноль для финальных версий)
Таким образом, 3.4.1a2 – это hexversion 0x030401a2.
Все приведенные макросы определены в файле Include/patchlevel.h.