py+Python Atlas版本特性图谱
官方文档 ↗
正式发布系列3.10.22

Python 3.10

让表达更接近你的思路

模式匹配、联合类型与更清晰的错误提示,让代码更容易表达和理解。

查看发布说明 ↗
THE HIGHLIGHTS

这一版,值得关注 05

01语法PEP 634 ↗

结构化模式匹配

match / case 可以按值和数据结构选择分支,并在匹配时提取字段。

怎么用适合命令分发、协议消息和结构化数据处理。

Python 3.10
message = {"action": "hello", "name": "Python"}
match message:
    case {"action": "hello", "name": name}:
        print(f"Hello, {name}")
    case _:
        print("Unknown action")
02类型PEP 604 ↗

更简洁的联合类型

使用 X | Y 表示联合类型;str | None 表示字符串或空值。

怎么用用于函数参数与返回值注解,不会自动校验运行时数据。

Python 3.10
def greet(name: str | None) -> str:
    return f"Hello, {name or 'world'}"
03标准库PEP 618 ↗

zip 的严格模式

zip(..., strict=True) 在可迭代对象长度不一致时抛出 ValueError,避免静默截断。

怎么用配对字段和数据时,及早发现长度错误。

Python 3.10
names = ["Ada", "Guido"]
scores = [98, 95]
print(dict(zip(names, scores, strict=True)))
04类型PEP 612 ↗

参数规格变量 ParamSpec

ParamSpec 能保留被包装函数的参数类型,改善装饰器的类型检查。

怎么用为装饰器、回调包装器提供准确的类型签名。

05开发体验

更明确的语法错误

解释器能提供更具体的语法错误提示,包括未闭合括号和缺少冒号。

怎么用减少在报错位置与真正问题之间来回查找的时间。

FROM THE SOURCE

官方完整变更目录 95

What’s New ↗

自动同步官方目录,涵盖语言、标准库、弃用及迁移变化。标题保留官方原文;中文解读精选于上方。

展开 Python 3.10 的全部变更 +