Документация Python неофициальный перевод

apiabiversion.md

62 строк · 3.3 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.11/c-api/apiabiversion.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Версионирование API и ABI89CPython предоставляет номер своей версии в следующих макросах. Обратите внимание, что они соответствуют версии, с которой код был **собран**, а не обязательно той версии, которая используется во **время выполнения**.1011См. [Стабильность C API](https://python-all.ru/3.11/c-api/stable.html#stable) для обсуждения стабильности API и ABI в разных версиях.1213#### `PY_MAJOR_VERSION`1415`3` в `3.4.1a2`.1617#### `PY_MINOR_VERSION`1819`4` в `3.4.1a2`.2021#### `PY_MICRO_VERSION`2223`1` в `3.4.1a2`.2425#### `PY_RELEASE_LEVEL`2627`a` в `3.4.1a2`. Может быть `0xA` для альфа, `0xB` для бета, `0xC` для кандидата релиза или `0xF` для финальной.2829#### `PY_RELEASE_SERIAL`3031`2` в `3.4.1a2`. Ноль для финальных релизов.3233#### `PY_VERSION_HEX`3435Номер версии Python, закодированный в одном целочисленном значении.3637Основную информацию о версии можно получить, интерпретируя его как 32-битное число следующим образом:3839| Байты | Биты (порядок big endian) | Значение | Значение для `3.4.1a2` |40| --- | --- | --- | --- |41| 1 | 1-8 | `PY_MAJOR_VERSION` | `0x03` |42| 2 | 9-16 | `PY_MINOR_VERSION` | `0x04` |43| 3 | 17-24 | `PY_MICRO_VERSION` | `0x01` |44| 4 | 25-28 | `PY_RELEASE_LEVEL` | `0xA` |45| 29-32 | `PY_RELEASE_SERIAL` | `0x2` |  |4647Таким образом, `3.4.1a2` – это hexversion `0x030401a2`, а `3.10.0` – это hexversion `0x030a00f0`.4849Используется для численных сравнений, например `#if PY_VERSION_HEX >= ...`.5051Эта версия также доступна через символ [`Py_Version`](https://python-all.ru/3.11/c-api/apiabiversion.html#c.Py_Version).5253#### `const unsigned long Py_Version`5455*Часть [Stable ABI](https://python-all.ru/3.11/c-api/stable.html#stable) начиная с версии 3.11.*5657Номер версии среды выполнения Python, закодированный в одной целочисленной константе, с тем же форматом, что и макрос [`PY_VERSION_HEX`](https://python-all.ru/3.11/c-api/apiabiversion.html#c.PY_VERSION_HEX). Он содержит версию Python, используемую во время выполнения.5859Новое в версии 3.11.6061Все приведенные макросы определены в файле [Include/patchlevel.h](https://python-all.ru/src/3.11/Include/patchlevel.h).62