Python 3.11.0rc2 现已发布,这是 Python 3.11 系列的第二个候选版本。进入 RC 阶段,开发团队只会对明确的错误进行修复,不会再改动 ABI,也会尽可能少地更改代码。
值得注意的是,3.11.0rc2 原计划于 2022 年 9 月 5 日发布,现在是推迟了一周;且由于个人日程安排的问题,公告指出,Python 3.11.0 正式版的发布时间也相应推迟到了 2022 年 10 月 24 日星期一(距离原定的 10 月 3 日推迟了三周)。
与 3.10 相比,Python 3.11 的主要变化包括有:
- PEP 657 – 在错误信息报告中引入细粒度的 Error Locations
- PEP 654 – Exception Groups and except*
- PEP 673 - Self 类型
- PEP 646 - 可变参数泛型 (Variadic Generics)
- PEP 680 - tomllib:支持在标准库中解析 TOML
- PEP 675 - 任意文字字符串类型
- PEP 655 - 将单个 TypedDict 项目标记为必需或可能缺失
- bpo-46752 – 将任务组引入 asyncio
- PEP 681 - Data Class 转换
- bpo-433030 – 正则表达式现在支持原子分组 (Atomic grouping):((?>...)),以及占有型量词 (
*+, ++, ?+, {m,n}+
) - Faster Cpython Project 已经出现了一些令人振奋的结果:Python 3.11 比 Python 3.10 快 10%~60%
更多详情可查看官方公告。