Python 3.13 这些新特性你一定要知道!

文摘   科技   2024-12-08 00:46   四川  

引言

Python 3.13 已于 2024 年 10 月 7 日正式发布。作为 Python 的最新版本,它带来了多项令人振奋的新特性和改进。本文将为你详细介绍这些重要更新,帮助你更好地利用 Python 3.13 进行开发。

主要更新内容

1. 交互式解释器的改进

现在可以直接使用命令名称退出 REPL,无需再调用函数形式:

# Python 3.13 之前
>>> exit()

# Python 3.13
>>> exit

同时,多行编辑时也支持历史记录保存,这对于调试和测试代码片段非常有帮助。

2. 无 GIL 多线程支持(实验性)

Python 3.13 终于支持禁用全局解释器锁(GIL)了!这意味着你的多线程 Python 程序可以充分利用多核处理器的优势。虽然目前仍处于实验阶段,但这无疑是一个激动人心的突破。

3. 更智能的错误提示

这个功能对小白用户很有用,因为经常会把文件名命名为模块名,导致程序无法运行!

当你的模块名与标准库冲突时,现在会收到更明确的提示:

# math.py
import math
print(math.sqrt(25))

# Python 3.13 运行结果
AttributeError: module 'math' has no attribute 'sqrt'
(consider renaming 'math.py' since it has the same name as the standard library
module named 'math' and the import system gives it precedence)

4. 类型系统增强

新增了 typing.ReadOnly 类型,可用于标记只读属性:

from typing import ReadOnly、TypedDict

class Song(TypedDict):
    name: ReadOnly[str]        # 只读属性
    band: ReadOnly[str]        # 只读属性
    number_of_plays: int       # 可修改属性

def count_plays(s: Song) -> None:
    s["number_of_plays"] += 1  # 正常运行
    s["name"] = "新名字"      # 类型检查时会报错

5. 更好的废弃警告机制

新增 warnings.deprecated() 装饰器,用于标记废弃的代码:

from warnings import deprecated

@deprecated("请使用 NewIntegration 替代")
class LegacyIntegration:
    pass

class NewIntegration:
    pass

# 使用时会收到警告
LegacyIntegration()

6. 命令行参数解析改进

argparse 新增了 deprecated 参数,支持命令行选项的废弃提示:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--old"、help="旧选项"、deprecated=True、required=False)
parser.add_argument("--new"、help="新选项"、required=False)
args = parser.parse_args()

总结

Python 3.13 的更新虽然不算巨大,但带来的改进都非常实用。尤其是交互式解释器的改进和更智能的错误提示,将为初学者带来更好的学习体验。而无 GIL 支持和类型系统的增强,则为专业开发者提供了更强大的工具。建议大家及时更新到最新版本,以体验这些新特性。

参考文章

  1. Python 3.13 What's New:https://testdriven.io/blog/python313/
  2. Python 官方文档:https://docs.python.org/3.13/whatsnew/3.13.html

书籍推荐

《Python编程:从入门到实践(第3版)》是一本广受欢迎的 Python 入门经典教材,由经验丰富的程序员 Eric Matthes 编写。该书采用循序渐进的教学方式,从基础语法讲解到实战项目开发,内容编排合理,实例丰富,语言通俗易懂。全书配有大量练习题和完整项目实战,包括数据可视化、网络爬虫、Web 应用开发等,让读者在实践中掌握编程技巧。第3版还增加了 f-string、海龟绘图等最新的 Python 特性内容。这本书不仅适合零基础读者入门学习,也非常适合想系统掌握 Python 的编程爱好者以及数据分析、人工智能等领域的学习者。它不仅教授编程知识,更注重培养读者的编程思维,是一本非常值得投资的 Python 学习指南。


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