Python 3.16 中待移除的項目
**************************

* 引入系統 (import system)：

  * 在模組上設定 "__loader__" 而沒有設定 "__spec__.loader" 的做法將於
    Python 3.16 被棄用。在 Python 3.16 中，引入系統或標準函式庫將不再
    設定或考慮 "__loader__"。

* "array"：

  * 自 Python 3.3 起，"'u'" 格式碼 ("wchar_t") 在文件中已被棄用，自
    Python 3.13 起在 runtime 已被棄用。請使用 "'w'" 格式碼 ("Py_UCS4")
    來取代 Unicode 字元。

* "asyncio"：

  * "asyncio.iscoroutinefunction()" 已被棄用並將在 Python 3.16 中移除
    ；請改用 "inspect.iscoroutinefunction()"。（由 Jiahao Li 和 Kumar
    Aditya 於 gh-122875 貢獻。）

  * "asyncio" 策略系統已被棄用並將在 Python 3.16 中移除。特別是以下類
    別和函式已被棄用：

    * "asyncio.AbstractEventLoopPolicy"

    * "asyncio.DefaultEventLoopPolicy"

    * "asyncio.WindowsSelectorEventLoopPolicy"

    * "asyncio.WindowsProactorEventLoopPolicy"

    * "asyncio.get_event_loop_policy()"

    * "asyncio.set_event_loop_policy()"

    使用者應該使用 "asyncio.run()" 或 "asyncio.Runner" 搭配
    *loop_factory* 來使用所需的事件迴圈實作。

    例如在 Windows 上使用 "asyncio.SelectorEventLoop"：

       import asyncio

       async def main():
           ...

       asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)

    （由 Kumar Aditya 於 gh-127949 貢獻。）

* "builtins"：

  * 自 Python 3.12 起，布林型別的位元反轉 "~True" 或 "~False" 已被棄用
    ，因為它會產生不預期且不直觀的結果（"-2" 和 "-1"）。使用 "not x"
    代替布林值的邏輯否定。在極少數情況下，你需要對底層的整數進行位元反
    轉，請明確轉換為 "~int(x)" ("~int(x)")。

* "functools"：

  * 自 Python 3.14 起，使用 *function* 或 *sequence* 關鍵字引數呼叫
    "functools.reduce()" 的 Python 實作已被棄用。

* "logging"：

  對具有 *strm* 引數的自訂日誌記錄處理函式的支援已被棄用，並計劃在
  Python 3.16 中移除。請改用 *stream* 引數。（由 Mariusz Felisiak 於
  gh-115032 貢獻。）

* "mimetypes"：

  * 有效的副檔名以 '.' 開頭或對 "mimetypes.MimeTypes.add_type()" 為空
    字串。未加點的副檔名已被棄用，並將在 Python 3.16 中引發
    "ValueError"。（由 Hugo van Kemenade 於 gh-75223 貢獻。）

* "shutil"：

  * 自 Python 3.14 起，"ExecError" 例外已被棄用。自 Python 3.4 以來，
    它尚未被 "shutil" 中的任何函式使用，現在是 "RuntimeError" 的別名。

* "symtable"：

  * 自 Python 3.14 起，"Class.get_methods" 方法已被棄用。

* "sys"：

  * 自 Python 3.13 起，"_enablelegacywindowsfsencoding()" 函式已被棄用
    。請改用 "PYTHONLEGACYWINDOWSFSENCODING" 環境變數。

* "sysconfig"：

  * 自 Python 3.14 起，"sysconfig.expand_makefile_vars()" 函式已被棄用
    。請改用 "sysconfig.get_paths()" 的 "vars" 引數。

* "tarfile"：

  * 自 Python 3.13 起，未以文件記錄和未被使用的 "TarFile.tarfile" 屬性
    已被棄用。
