Версионирование API и ABI¶API and ABI Versioning
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. Может быть0xAдля альфа,0xBдля бета,0xCдля кандидата релиза или0xFдля финальной.
-
PY_RELEASE_SERIAL¶ 2в3.4.1a2. Ноль для финальных релизов.
-
PY_VERSION_HEX¶ Номер версии Python, закодированный в одном целочисленном значении.
Основную информацию о версии можно получить, интерпретируя его как 32-битное число следующим образом:
Байты
Биты (порядок big endian)
Значение
Значение для
3.4.1a21
1-8
PY_MAJOR_VERSION0x032
9-16
PY_MINOR_VERSION0x043
17-24
PY_MICRO_VERSION0x014
25-28
PY_RELEASE_LEVEL0xA29-32
PY_RELEASE_SERIAL0x2Таким образом,
3.4.1a2– это hexversion0x030401a2, а3.10.0– это hexversion0x030a00f0.
Все приведенные макросы определены в файле Include/patchlevel.h.