Версионирование 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.