文章目录
- 前言:
- 一、新特性
- 二、改进的模块
- 三、其他语言特性修改
-
- 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("你好")