本文介绍了Python 3.15版本中一些未引起广泛关注但值得注意的特性,包括性能优化、语法改进和标准库更新。这些特性虽未成为头条新闻,但对开发者日常编码和项目维护有实际帮助。
核心要点
- Python 3.15引入了f-string的增强,允许在f-string中使用多行表达式和反斜杠,提升了字符串格式化的灵活性。
- 新增
@override装饰器,用于显式标记子类方法覆盖父类方法,增强代码可读性和静态检查能力。 pathlib模块获得walk()方法,简化目录遍历,替代os.walk()的冗长调用。typing模块新增TypeVarTuple和Unpack,支持可变泛型,提升类型系统的表达能力。- 性能优化:
dict和list的某些操作速度提升约10-20%,得益于底层C实现的改进。
正文
Python 3.15版本虽然未像之前版本那样引入重大语法变革,但包含多项实用改进,值得开发者关注。
f-string增强:现在可以在f-string中使用多行表达式和反斜杠,例如f"{x + \ny}",解决了之前版本中f-string不能跨行或包含反斜杠的限制。
@override装饰器:从typing模块导入,用于显式声明子类方法覆盖父类方法。如果方法名拼写错误或父类无此方法,静态类型检查器(如mypy)会报错,减少运行时错误。
pathlib.walk():pathlib.Path新增walk()方法,返回生成器,生成(dirpath, dirnames, filenames)三元组,与os.walk()类似但更符合面向对象风格。
可变泛型:typing.TypeVarTuple和typing.Unpack允许定义接受任意数量类型参数的泛型,例如def func(*args: *Unpack[Ts]),适用于元组和函数签名的泛型化。
性能提升:dict的键查找和list的切片操作速度提升约10-20%,得益于CPython解释器内部哈希表和内存管理的优化。
其他改进:math模块新增dist函数计算两点欧几里得距离;statistics模块新增harmonic_mean支持加权计算;json模块的dump()和dumps()现在支持default参数与cls参数同时使用。
关联概念
- Python 3.15 新特性
- f-string 增强
- typing 模块更新
- pathlib 改进
- CPython 性能优化
可操作项
- 升级到Python 3.15后,尝试在f-string中使用多行表达式和反斜杠,简化复杂字符串格式化。
- 在子类覆盖父类方法时,添加
@override装饰器,并配置mypy进行静态检查。 - 将
os.walk()调用替换为pathlib.Path.walk(),提升代码可读性。 - 在需要可变数量类型参数的泛型函数或类中,使用
TypeVarTuple和Unpack。 - 测试现有代码在Python 3.15下的性能,特别是大量使用dict和list的场景。
原文: Python 3.15: features that didn't make the headlines
自动加工于 2026-05-21 20:50