Python3.11穩(wěn)定版本發(fā)布,或許是最好的版本
Python 3.11 穩(wěn)定版本已正式發(fā)布!

Python 以速度慢著稱,例如在 Python 中,常規(guī)循環(huán)比 C 中的類似循環(huán)慢幾個數量級。
Python 官方正在著手改進這一缺陷。2020 年秋,Mark Shannon 提出了關于 Python 的幾個性能改進。這個提議被稱為香農計劃 (Shannon Plan),他們希望通過幾個版本的更新將 Python 的速度提高 5 倍。不久之后微軟正式加入該計劃,該公司正在支持包括 Mark Shannon、Guido van Rossum 在內的開發(fā)人員,致力于「Faster CPython」項目的研究。
「Faster CPython」項目中的一個重要提案是 PEP 659,在此基礎上,Python 3.11 有了許多改進。
PEP 659 描述了一種「specializing adaptive interpreter」。主要思想是通過優(yōu)化經常執(zhí)行的操作來加快代碼運行速度, 這類似于 JIT(just-in-time)編譯。只是它不影響編譯,相反,Python 的字節(jié)碼是動態(tài)調整或可更改的。
Python被廣泛認為是緩慢的。雖然 Python 永遠無法達到 C、Fortran 甚至 Java 等低級語言的性能,但我們希望它的速度能夠與腳本語言競爭,例如用于 Javascript 的 V8 或用于 lua 的 luajit。我們希望通過 CPython 實現這些性能目標,以使所有 Python 用戶受益,包括那些無法使用 PyPy 或其他替代虛擬機的用戶。
Python 3.11 中的一些新的主要新特性和變化包括:
一般變化
PEP 657 – 在錯誤信息報告中引入細粒度的 Error Locations
PEP 654 – Exception Groups and except*
PEP 680 - tomllib:支持在標準庫中解析 TOML
bpo-46752 – 將任務組引入 asyncio
bpo-433030 – 正則表達式現在支持原子分組 (Atomic grouping):((?>...)),以及占有型量詞 (
*+, ++, ?+, {m,n}+)Faster Cpython Project 已經出現了一些令人振奮的結果:Python 3.11 比 Python 3.10 快 10%~60%。
Typing changes
PEP 673 - Self 類型
PEP 655 - 將單個 TypedDict 項目標記為必需或可能缺失
PEP 675 - 任意文字字符串類型
PEP 681 - Data Class 轉換
PEP 646 - 可變參數泛型 (Variadic Generics)

推薦閱讀
【2022新書】深度學習R語言實戰(zhàn),568頁電子書 用數學和Python入門機器學習核方法 · 電子書 超全干貨2萬字全文!李航《統(tǒng)計學習方法》讀書筆記 《機器學習算法與Python實戰(zhàn)》:搭建機器學習開發(fā)環(huán)境
