Python 3.9 是 Python 3 系列的一个重要版本,带来了许多新的特性和改进。以下是一些值得关注的亮点:

  • 赋值表达式(walrus operator):允许在 iffor 语句中直接赋值,简化代码结构。

    if (n := len(a)) > 10:
        print(f"List is too long ({n} elements, expected <= 10)")
    
  • 可迭代生成器:允许生成器使用 yield from 语句直接将可迭代对象的内容逐项产生。

    def all_indices(seq, value):
        for index, element in enumerate(seq):
            if element == value:
                yield index
    
  • 结构化赋值增强:允许将多个值赋给多个变量,特别是在处理元组或字典时更加方便。

    x, y = (1, 2)
    a, b, *c, d = range(5)
    
  • 类型注解改进:提供了新的语法和功能,例如 | 操作符用于联合类型,以及 typing 模块的新功能。

    from typing import List, Union
    
    def greet(name: str) -> str:
        return f"Hello, {name}!"
    
    def func(x: Union[int, float]) -> None:
        pass
    
  • 字典合并和更新:允许使用 | 操作符合并字典,以及 |= 操作符进行更新。

    dict1 = {'a': 1, 'b': 2}
    dict2 = {'b': 3, 'c': 4}
    
    merged_dict = dict1 | dict2
    updated_dict = dict1 |= dict2
    
  • 内置数据类型改进:如 intfloatstr 等类型都有了性能上的提升。

  • 异步改进:增加了 async forasync with 语句,以及 run_coroutine_threadsafe 函数。

  • 内置模块改进:如 ossysdatetime 等模块都进行了增强。

更多关于 Python 3.9 新特性的详细信息和示例,请参阅Python 3.9 新特性

Python 3.9 Logo