Python 3.13.1 重磅发布!快来了解这些激动人心的新特性

文摘   科技   2024-12-14 00:39   四川  

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}

值得注意的变化

  1. macOS 支持版本变更:最低支持版本从 10.9 提升至 10.13(High Sierra)。

  2. 平台支持更新:

  • WASI 现为二级支持平台
  • iOS 和 Android 现为三级支持平台
  • Emscripten 不再官方支持
  • 移除了多个废弃模块:

    • 音频相关:aifcaudioopsndhdrsunau
    • 网络相关:nntplibtelnetlib
    • 其他:cgicgitbimghdr

    总结

    Python 3.13.1 的发布展现了 Python 在性能优化、开发体验和类型系统等方面的持续进步。特别是实验性的无 GIL 模式和 JIT 支持,为 Python 的未来发展开启了新的可能。建议开发者及时更新到新版本,以体验这些激动人心的新特性。

    参考文章

    1. Python 3.13.1 Release:https://www.python.org/downloads/release/python-3131
    2. 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 学习指南。


    数据科学研习社
    带你走进数据科学的世界🚀
     最新文章