📜  python 3.7 发布日期 - Python (1)

📅  最后修改于: 2023-12-03 15:18:53.452000             🧑  作者: Mango

Python 3.7 发布日期

Python 3.7 是 Python 编程语言的一个版本,于 2018 年 6 月 27 日发布。以下是此版本的一些主要特点:

数据类

Python 3.7 引入了一个新的标准库模块 typing 类型提示数据类(Data Classes),使得创建只有属性的类更容易。它们免费提供与属性相关的方法,例如 init()、repr() 和 eq()。

引入全新优化器

Python 3.7 采用了全新的解释器部分,纯C实现的技术,名为 PEG 解析器。结果,Python 3.7 引入了一个全新的解释器优化器,专门处理字节码的生成和机器代码的编译。这么做进一步提高了 Python 代码的执行效率。

asyncio 异步编程增强

Python 3.7 引入了许多 asyncio 的新特性和改进,从而使异步编程更加方便和简单。主要特性包括:

  • 支持 async 和 await 语法 (PEP 492)。
  • 可以使用 asyncio.run() 函数运行协程,而不需要创建循环对象。
  • 新的协程调度器函数,包括 asyncio.create_task() 和 asyncio.to_thread()。
  • 新的 Datagram Transport 和 SSL API
其他一些改进
  • f-strings支持=格式填充字符。
  • Python 3.7 引入一种新的上下文管理器,contextlib.asynccontextmanager,以便更容易地写异步上下文管理器。
  • os.makedirs() 和 shutil.copytree() 等函数现在提供了一个新的 exist_ok 参数,以使调用者更容易。

Python 3.7 提供了许多新特性和改进,以使 Python 编程更加快捷、易用和高效。如果你是一个 Python 开发者,请不要错过这个版本!

# 示例代码
from typing import List

class Person:
    name: str
    age: int

    def __init__(self, name: str, age: int):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"{self.name} ({self.age})"

# 使用数据类创建一个人员列表
from dataclasses import dataclass

@dataclass
class Person:
    name: str
    age: int

people: List[Person] = [
    Person("Alice", 25),
    Person("Bob", 30)
]

for person in people:
    print(person)