注意:雖然本網站不一定需要 JavaScript,但您的互動體驗將會受限。請開啟 JavaScript 以獲得完整體驗。

Python 3.9.1

發布日期:2020 年 12 月 7 日

這是 Python 3.9 的第一個維護版本。

注意:您目前查看的是 Python 3.9.1,這是針對舊版 3.9 系列的錯誤修復版本Python 3.11 現已成為 Python 3 的最新功能版本系列。點此取得 3.11.x 的最新版本

自 3.9.0 以來,我們進行了 282 項變更,這是一個相當顯著的數量。作為對比,3.8.1 自 3.8.0 以來僅有 192 次提交。

安裝程式新聞

3.9.1 是第一個支援 macOS 11 Big Sur 的 Python 版本。透過 Xcode 11 或更新版本,現在可以建置適用於 Apple Silicon 的「Universal 2」二進位檔案。我們以 macos11.0 變體的形式提供此類安裝程式。此安裝程式可部署回舊版本,並已在低至 OS X 10.9 的版本上進行測試。由於我們仍在等待更新版本的 pip,請將 macos11.0 安裝程式視為實驗性質。

若沒有 Ronald Oussoren、Ned Deily 以及來自 Apple 的 Lawrence D’Anna 的努力,這項工作將無法完成。感謝你們!

這是第一個在 Windows 上預設使用 64 位元安裝程式的 Python 版本。安裝程式現在也會主動禁止在 Windows 7 上安裝。Python 3.9 與這個已不受支援的 Windows 版本不相容。

3.9 系列相比 3.8 的主要新功能

Python 3.9 的一些主要新功能和變更包括:

  • PEP 573,來自 C 擴充方法的模組狀態存取 (Module State Access)
  • PEP 584dict 中的聯集運算子
  • PEP 585,標準集合中的型別提示泛型
  • PEP 593,彈性函式與變數註解
  • PEP 602,Python 採用穩定的年度發行週期
  • PEP 614,放寬裝飾器的語法限制
  • PEP 615,標準函式庫中對 IANA 時區資料庫的支援
  • PEP 616,用於移除字串前綴和後綴的方法
  • PEP 617,CPython 的新 PEG 解析器
  • BPO 38379,垃圾回收不會因復活動態物件而阻塞;
  • BPO 38692,新增 os.pidfd_open,可在沒有競爭條件和訊號的情況下進行行程管理;
  • BPO 39926,Unicode 支援更新至版本 13.0.0;
  • BPO 1635741,當 Python 在同一行程中多次初始化時,不再洩漏記憶體;
  • 多個 Python 內建函式 (range, tuple, set, frozenset, list, dict) 現在透過 PEP 590 vectorcall 進行加速;
  • 多個 Python 模組 (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) 現在使用 PEP 489 定義的多階段初始化;
  • 多個標準函式庫模組 (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) 現在使用 PEP 384 定義的穩定 ABI。

您可以在此版本的「新功能 (What's New)」文件中找到更完整的列表。

更多資源

接下來是一些完全不同的內容

亞瑟 (Eric Idle):早安,我想買本書,拜託。
店員 (John Cleese):噢,好吧,恐怕我們沒有書。(試圖藏起來)
亞瑟:抱歉?
店員:我們沒有書。剛好賣光了。早安。
亞瑟:那這些是什麼?
店員:什麼是什麼?噢!這些啊,啊哈,哈哈。你是指這些……書。
亞瑟:對。
店員:它們……它們全都賣掉了。早安。
亞瑟:全部都賣掉了?
店員:每一本都賣光了。沒有一本是還沒賣出的狀態。早安。
亞瑟:等一下,這其中肯定有問題
店員:什麼,哪裡?你沒有看到什麼吧?
亞瑟:沒有,但我認為這其中肯定有問題。
店員:不不,這裡什麼事都沒有 (對外喊道) 而且他沒看到任何東西。早安。
亞瑟:噢,好吧,我想買一本《假牙圖解史》。
店員:天啊,你的膽子真大。
亞瑟:什麼?
店員:(掏出槍) 你到底知道多少?
亞瑟:什麼關於什麼的?
店員:你是英國牙醫協會派來的嗎?
亞瑟:不,我是個菸草商。
店員:待在那裡別動。你休想活著離開這間書店。
亞瑟:為什麼不?
店員:你知道得太多了,我的牙醫朋友。
亞瑟:什麼都不知道。
店員:從實招來吧。你是牙醫對吧。
亞瑟:不,我是個菸草商。
店員:一個剛好要買一本關於牙齒的書的菸草商?

完整變更日誌

檔案

版本 作業系統 說明 MD5 總和檢查碼 檔案大小 GPG
Gzip 壓縮原始碼封存檔 (Gzipped source tarball) 原始碼版本 429ae95d24227f8fa1560684fad6fca7 24.2 MB SIG
XZ 壓縮原始碼封存檔 (XZ compressed source tarball) 原始碼版本 61981498e75ac8f00adcb908281fadb6 18.0 MB SIG
macOS 64 位元 Intel 安裝程式 macOS 適用於 macOS 10.9 及更高版本 74f5cc5b5783ce8fb2ca55f11f3f0699 28.4 MB SIG
macOS 64 位元 universal2 安裝程式 macOS 適用於 macOS 10.9 及更新版本,包含 Apple Silicon 上的 macOS 11 Big Sur(實驗性支援) 8b19748473609241e60aa3618bbaf3ed 35.7 MB SIG
Windows 安裝程式 (64 位元) Windows 建議使用 b3fce2ed8bc315ad2bc49eae48a94487 26.9 MB SIG
Windows 安裝程式 (32 位元) Windows dde210ea04a31c27488605a9e7cd297a 25.9 MB SIG
Windows 說明檔 Windows c49d9b6ef88c0831ed0e2d39bc42b316 8.4 MB SIG
Windows 嵌入式套件 (64 位元) Windows e70e5c22432d8f57a497cde5ec2e5ce2 8.0 MB SIG
Windows 嵌入式套件 (32 位元) Windows 96c6fa81fe8b650e68c3dd41258ae317 7.2 MB SIG