【Python】Python 3.10 新特性

文章目录

  • 前言:
  • 一、新特性
    • 1.1 PEP 617;带括号的上下文管理器
    • 1.2 更清楚的错误消息
    • 1.3 PEP 634:结构化模式匹配(match)
    • 1.4 PEP 604:有关类型提示的新增特性
    • 1.5 PEP 613:类型别名
  • 二、改进的模块
    • 2.1 `asyncio`
    • 2.2 `argparse`
    • 2.3 `base64`
    • 2.4 `collections.abc`
    • 2.5 `dataclasses` `__slots__`
    • 2.6 `traceback`
  • 三、其他语言特性修改
    • 3.1 `int` 类型新增 `int.bit_count()`
    • 3.2 `dict.keys() dict.values() dict.items()`
    • 3.3 函数具有一个新的 `__builtins__` 属性
    • 3.4 增加两个内置函数(`aiter()` 和 `anext()`)
    • 3.5 静态方法(`@staticmethod`)和类方法(`@classmethod`)
    • 3.6 类和模块对象下载可以按需创建空的注解字典
    • 3.7 `float`和`decimal.Decimal` 类型的 `NaN` 值
    • 3.8 删除 `__debug__` 常量时,产生一个 `SyntaxError` 而不是 `NameError`
    • 3.9 `SyntaxError` 异常现在有 `end_lineno` 和 `end_offset` 属性。

前言:

本文介绍了 Python 3.10 与 3.9 相比的新功能。
(部分新功能)


一、新特性

1.1 PEP 617;带括号的上下文管理器

现在支持使用括号,使得多个上下文管理器可以连续多行地书写。

with (
    open("123.txt", "rb") as f1,
    open("123.txt", "rb") as f2
):
    print(f1.read())
    print(f2.read())

1.2 更清楚的错误消息

1.3 PEP 634:结构化模式匹配(match)

match-case语句。

case 可以匹配:基本数据类型、序列、字典、类实例。

# 基本使用
def func(word=None):
    match word:
        case "hello":
            print(&#

你可能感兴趣的:(Python新特性,python,开发语言)