Spec-Zone.ru › Python 3.12

Версии API и ABI

CPython раскрывает свой номер версии в следующих макросах. Обратите внимание, что эти значения соответствуют версии, с которой был составлен код, а не обязательно версии, используемой во время выполнения.

См. Стабильность API C для обсуждения стабильности API и ABI между версиями.

PY_MAJOR_VERSION

Главная версия в 3.4.1a2.

PY_MINOR_VERSION

Дополнительная версия в 3.4.1a2.

PY_MICRO_VERSION

Минорная версия в 3.4.1a2.

PY_RELEASE_LEVEL

Уровень выпуска в 3.4.1a2. Может быть 0xA для альфа-версии, 0xB для бета-версии, 0xC для кандидата на выпуск или 0xF для финальной версии.

PY_RELEASE_SERIAL

Серийный номер выпуска в 3.4.1a2. Ноль для финальных релизов.

PY_VERSION_HEX

Номер версии Python, закодированный в одном целочисленном значении.

Базовая информация о версии может быть получена путем обработки ее как 32-битного числа следующим образом:

Байты

Биты (порядок big endian)

Значение

Значение для 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, используемую во время выполнения.

Добавлен в версии 3.11.

Все указанные макросы определены в Include/patchlevel.h.

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/c-api/apiabiversion.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API