API i wersjonowanie ABI¶
CPython (standardowa implementacja) ujawnia swój numer wersji w następujących makrach. Należy pamiętać, że odpowiadają one kodowi wersji, z którym został zbudowany, niekoniecznie wersji używanej w czasie działania.
Więcej informacji na temat stabilności API i ABI w różnych wersjach można znaleźć na stronie C API Stability.
-
PY_MAJOR_VERSION¶ 3w3.4.1a2.
-
PY_MINOR_VERSION¶ 4w3.4.1a2.
-
PY_MICRO_VERSION¶ 1w3.4.1a2.
-
PY_RELEASE_LEVEL¶ aw3.4.1a2. Może to być0xAdla wersji alfa,0xBdla wersji beta,0xCdla wersji kandydującej do wydania lub0xFdla wersji finalnej.
-
PY_RELEASE_SERIAL¶ 2w3.4.1a2. Zero dla ostatecznych wydań.
-
PY_VERSION_HEX¶ Numer wersji Pythona zakodowany w pojedynczej liczbie całkowitej.
Podstawowe informacje wersji można znaleźć, traktując je jako 32-bitową liczbę w następujący sposób:
Bajty
Bity (kolejność big endian)
Znaczenie
Wartość dla
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_SERIAL0x2Tak więc
3.4.1a2jest hekswersją0x030401a2, a3.10.0jest hekswersją0x030a00f0.
Wszystkie podane makra są zdefiniowane w Include/patchlevel.h.