Python 作为当下最流行的编程语言之一,一直在不断进化。2024 年 12 月 3 日,Python 发布了 3.13.1 版本。这是 Python 3.13 系列的首个维护版本,包含了近 400 个 bug 修复、构建改进和文档更新。让我们一起来看看这个版本带来了哪些令人兴奋的新特性!
引言
Python 3.13 相比 3.12 版本带来了多项重大更新,包括全新的交互式解释器、实验性的无 GIL 构建模式、初步的 JIT 支持等。这些改进不仅提升了开发体验,还大大增强了 Python 的性能。
主要新特性
1. 全新的交互式解释器
基于 PyPy 的新版解释器支持多行编辑和颜色显示,异常追踪也支持彩色显示,让代码调试更直观。
2. 实验性的无 GIL 模式
新版本引入了实验性的免费线程构建模式,通过禁用全局解释器锁(GIL),让线程能够更好地并发运行。Windows 和 macOS 安装程序都已支持这一特性。
3. 实验性 JIT 支持
初步引入了即时编译(JIT)支持,为未来显著提升性能奠定了基础。
4. 新的存储后端
dbm
模块新增了 dbm.sqlite3
后端,并将其设为创建新文件时的默认选项。
5. 类型系统增强
支持类型参数中的类型默认值 新增 typing.TypeIs
类型收窄注解为 TypeDict 新增只读项注解 新增用于标记类型系统中废弃项的注解
快速上手示例
让我们通过一个简单的例子来体验新版本的特性:
# 演示新版本的类型注解特性
from typing import TypedDict, ReadOnly
class UserConfig(TypedDict):
name: str # 用户名
age: int # 年龄
id: ReadOnly[int] # 只读的用户ID
# 创建用户配置
user: UserConfig = {
"name": "张三",
"age": 25,
"id": 10001
}
# 可以修改 name 和 age
user["name"] = "李四"
user["age"] = 26
# 但不能修改只读的 id
# 以下代码会引发类型检查错误
# user["id"] = 10002
输出结果:
>>> print(user)
{'name': '李四', 'age': 26, 'id': 10001}
值得注意的变化
macOS 支持版本变更:最低支持版本从 10.9 提升至 10.13(High Sierra)。
平台支持更新:
WASI 现为二级支持平台 iOS 和 Android 现为三级支持平台 Emscripten 不再官方支持
移除了多个废弃模块:
音频相关: aifc
、audioop
、sndhdr
、sunau
网络相关: nntplib
、telnetlib
其他: cgi
、cgitb
、imghdr
等
总结
Python 3.13.1 的发布展现了 Python 在性能优化、开发体验和类型系统等方面的持续进步。特别是实验性的无 GIL 模式和 JIT 支持,为 Python 的未来发展开启了新的可能。建议开发者及时更新到新版本,以体验这些激动人心的新特性。
参考文章
Python 3.13.1 Release:https://www.python.org/downloads/release/python-3131 What's New In Python 3.13:https://docs.python.org/3.13/whatsnew/3.13.html
书籍推荐
《Python编程:从入门到实践(第3版)》是一本广受欢迎的 Python 入门经典教材,由经验丰富的程序员 Eric Matthes 编写。该书采用循序渐进的教学方式,从基础语法讲解到实战项目开发,内容编排合理,实例丰富,语言通俗易懂。全书配有大量练习题和完整项目实战,包括数据可视化、网络爬虫、Web 应用开发等,让读者在实践中掌握编程技巧。第3版还增加了 f-string、海龟绘图等最新的 Python 特性内容。这本书不仅适合零基础读者入门学习,也非常适合想系统掌握 Python 的编程爱好者以及数据分析、人工智能等领域的学习者。它不仅教授编程知识,更注重培养读者的编程思维,是一本非常值得投资的 Python 学习指南。