编程学习网 > 编程语言 > Python > 懒导入终于来了!Python 3.15 新功能速览!
2026
10-13

懒导入终于来了!Python 3.15 新功能速览!

Python 3.15 于 2026 年 10 月 9 日正式发布,这次没有延期,重要特性一览。
一、添加内置类型sentinel

用来创建“哨兵值”,比以前用 object() 更规范、可读性更好,而且支持 pickle。

以前常见写法:

MISSING = object()
def get(key, default=MISSING):    if default is MISSING:        ...

或者直接用 None:

def get(key, default=None):    if default is None:        ...

这些写法都有明显缺点:


字符串 "MISSING"

容易和真实字符串冲突

从 3.15 开始,官方提供了标准的 sentinel 内置类型: 

MISSING = sentinel("MISSING")
def get_config(value=MISSING):    if value is MISSING:        return "使用默认配置"    return f"使用配置: {value}"
print(get_config())          # 使用默认配置print(get_config("debug"))   # 使用配置: debugprint(MISSING)               # MISSING(打印很友好)

二、显式懒惰导入以加快启动时间

千呼万唤始出来,"lazy"这个概念早在Polars里面就出现过,这次Python也引入了,一个数据处理的懒执行,一个是加快程序启动速度、减少不必要的内存占用。

lazy import pandas as pdlazy import matplotlib.pyplot as plt

三、Python 现在默认使用 UTF-8 编码

以前 open() 不写 encoding 会跟着系统 locale 走(Windows 经常是 cp1252),现在统一默认 UTF-8。

没什么好说的,早该如此。 

四、推导式中的解包

列表/集合/字典推导式和生成器表达式现在支持 * 和 ** 解包,写起来更灵活。

nested = [[1, 2], [3, 4, 5], [6]]
# 以前要写两层 forflat_old = [x for sub in nested for x in sub]
# 现在直接解包flat_new = [*sub for sub in nested]print(flat_new)   # [1, 2, 3, 4, 5, 6]
# 字典也可以dicts = [{"a": 1}, {"b": 2}, {"c": 3}]merged = {**d for d in dicts}print(merged)     # {'a': 1, 'b': 2, 'c': 3}

五、添加内置类型frozendict

感觉 frozendict 就是「不可变的字典」,类似 frozenset 之于 set。

# 普通字典(可变)d = {"name": "Alice", "age": 30}d["age"] = 31          # 可以改d["city"] = "Beijing"  # 可以加del d["name"]          # 可以删
# frozendict(不可变)fd = frozendict(name="Alice", age=30)fd["age"] = 31         # 报错!TypeErrorfd["city"] = "Beijing" # 报错!

 

六、打包启动配置文件

不是很重要,此处省略。。。

这是给包作者用的改进。以前 .pth 文件里可以写 import xxx 在启动时执行代码,现在推荐用更安全的 .start 文件 + entry point。

七、实验性 JIT 编译器升级

不是很重要,此处省略。。。

底层性能提升。官方测试平均能快 7~12%,实际请自己感受。

八、新工具Tachyon —— 高频统计抽样剖析器

把 Python 的性能分析工具整理进了统一的 profiling 包,并引入了 Tachyon(profiling.sampling)——一个几乎零开销、能直接挂到生产进程上的高频统计抽样分析器。它弥补了以前 cProfile 开销大、不适合生产环境的短板。

以上就是“懒导入终于来了!Python 3.15 新功能速览!”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。  

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取