API 和 ABI 版本管理
*******************

CPython 透過以下巨集 (macro) 公開其版本號。請注意，對應到的是**建置
(built)** 所用到的版本，並不一定是**執行環境 (run time)** 所使用的版本
。

關於跨版本 API 和 ABI 穩定性的討論，請見 C API 穩定性。

PY_MAJOR_VERSION

   在 "3.4.1a2" 中的 "3"。

PY_MINOR_VERSION

   在 "3.4.1a2" 中的 "4"。

PY_MICRO_VERSION

   在 "3.4.1a2" 中的 "1"。

PY_RELEASE_LEVEL

   在 "3.4.1a2" 中的 "a"。"0xA" 代表 alpha 版本、"0xB" 代表 beta 版本
   、"0xC" 為發布候選版本、"0xF" 則為最終版。

PY_RELEASE_SERIAL

   在 "3.4.1a2" 中的 "2"。零則為最終發布版本。

PY_VERSION_HEX

   被編碼為單一整數的 Python 版本號。

   所代表的版本資訊可以用以下規則將其看做是一個 32 位元數字來獲得：

   +---------+---------------------------+---------------------------+----------------------------+
   | 位元組  | 位元（大端位元組序 (big   | 意義                      | "3.4.1a2" 中的值           |
   | 串      | endian order)）           |                           |                            |
   |=========|===========================|===========================|============================|
   | 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" 代表 hexversion "0x030401a2"、"3.10.0" 代表
   hexversion "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。
