Python3.9 beta2版本发布了,看看这7个新的PEP都是什么

yizhihongxing

Python 3.9beta2版本发布了

Python 3.9 beta2 版本已经发布了,它包含了很多新的特性和改进,其中有7个新的 PEP (Python Enhancement Proposal)。

什么是PEP

PEP 是 Python Enhancement Proposal(Python增强提案)的缩写,是 Python 社区用于描述新功能、规范接口或者提出新想法的标准文档。PEP 是 Python 开发的重要组成部分,Python 开发过程中所做的每一个考虑过程都可以被记录在 PEP 中,PEP 以提高 Python 语言的质量为目标,经过 Python 开发者的讨论,在社区中得到广泛的认可和支持。

Python 3.9 beta2 中新增的 PEP

PEP 585: Type Hinting Generic Dicts and Lists in Standard Collections

这个提案推荐将标准库中的 dict 和 list 等集合类型强制转换为泛型,从而使它们能够被用于类型提示。此外,PEP 585 介绍了一个新的内置类型 typing.Annotated 来提供更详细的类型提示。

PEP 614: Relaxing Grammar Restrictions On Decorators

这个提案放宽了装饰器的语法限制,现在允许在 decorating expression 中使用函数调用语法。

下面是一个示例代码:

# Python 3.8
@foo('arg')
def func():
    pass

# Python 3.9
@foo('arg')()
def func():
    pass

PEP 593: Flexible Function and Variable Annotations

PEP 593 引入了一个新的类型 Any,它表示任何类型。此外,它还允许函数注释和类型提示的一些灵活性,能够使开发者更加自由地使用类型注释。

PEP 602: CPython adopts annual release cycle

这个提案是官方支持 Python 采用年度版本发布的请求,从而更好地推动开发进程。这就意味着开发者将更快地得到 Python 的新功能和改进。

PEP 614: Relaxing Grammar Restrictions On Decorators

PEP 614 引入了一种新的语法,用于给 Class-based decorators 中的类添加装饰器。这种语法将会减少设计时的复杂性。

下面是一个示例代码:

# Python 3.8
@decorator
class Foo:
    pass

# Python 3.9
class Foo:
    @decorator
    pass

PEP 613: Explicit Type Aliases

PEP 613 引入了显式的类型别名语法和 api,这使得类型提示更加清晰明了。随着这个提案的实现,Python 将会支持显式声明类型别名。

下面是一个示例代码:

from typing import List

# 新添加了 ListAlias
ListAlias = List[int]
def func(l: ListAlias):
    pass

PEP 615: Merging typed_ast into CPython

这个提案将 typed_ast 库合并到 Python 标准库中,以便具有 ast 节点的 Python 库或工具能够容易地操作这些节点的类型注释。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3.9 beta2版本发布了,看看这7个新的PEP都是什么 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python3生成手写体数字方法

    Python3生成手写体数字方法完整攻略 简介 在机器学习中,手写体数字是一个经典的数据集,因此在自然语言处理和图像识别等领域需要生成手写数字来模拟各种场景。由于现成模板数量较少,因此需要一种方法来生成手写数字。 解决方案 通过使用Python3,我们可以使用TensorFlow和MNIST数据集生成手写数字的图像。 步骤 1:安装TensorFlow 打开…

    python 2023年6月3日
    00
  • python正则表达式匹配IP代码实例

    以下是“Python正则表达式匹配IP代码实例”的完整攻略: 一、问题描述 在Python中,我们可以使用正则表达式匹配IP地址。本文将详细讲解如何使用Python正则表达式匹配IP地址,并提供两个示例说明。 二、解决方案 2.1 使用正则表达式匹配IP地址 在Python中,我们可以使用正则表达式匹配IP地址。以下是一个示例,演示了如何使用Python正则…

    python 2023年5月14日
    00
  • python中pip无法正确安装或路径出错的解决方案

    请允许我为你详细讲解“Python中pip无法正确安装或路径出错的解决方案”。 问题描述 安装某些Python库时,可能会遇到pip安装失败的情况,可能出现以下两种错误: pip无法正确安装; pip安装后路径出错。 解决方案 针对上述两种问题,我们可以尝试以下解决方案: 1. pip无法正确安装 在使用pip安装库时,可能会遇到以下错误: Could no…

    python 2023年5月14日
    00
  • 在 Python 中使用多个条件过滤数据的最佳算法

    【问题标题】:Best algorithm to filter data with multiple criteria in Python在 Python 中使用多个条件过滤数据的最佳算法 【发布时间】:2023-04-02 18:10:01 【问题描述】: 我有一个多维且仅限数值的数据集,在概念上如下所示: Id Field1 Field2 Field3 …

    Python开发 2023年4月8日
    00
  • python使用protobufde的过程解析

    以下是关于“Python使用Protobuf的过程解析”的完整攻略: 什么是Protobuf? Protocol Buffers(简称 Protobuf)是由 Google 开发的一种轻量级的数据序列化协议。与 XML 和 JSON 等常见的数据交换格式相比,Protobuf 的效率更高、数据体积更小。根据 Google 官方文档的描述,Protobuf 压…

    python 2023年6月3日
    00
  • Python枚举类定义和使用方法

    Python枚举类定义和使用方法 枚举是一种由一组固定的值所组成的类型,通常用于代表那些有限的、可枚举的值。 Python中的枚举是通过Enum类实现的,在使用枚举之前,需要先导入Enum类。 from enum import Enum 定义枚举类 定义一个枚举类的方式就是创建一个类,然后让其继承自Enum类,并在类中定义属性。 from enum impo…

    python 2023年5月13日
    00
  • PyQt5-QDateEdit的简单使用操作

    PyQt5-QDateEdit是一个可编辑日期的组件,它能够让用户在图形化界面中轻松地输入日期。在本解答中,我会为您详细介绍PyQt5-QDateEdit的简单使用操作。 目录 PyQt5-QDateEdit的安装 PyQt5-QDateEdit的基本使用 QDateEdit中常用的属性和方法 1. PyQt5-QDateEdit的安装 在使用PyQt5-Q…

    python 2023年6月2日
    00
  • 如何使用Python实现数据库中数据的分组统计?

    以下是使用Python实现数据库中数据的分组统计的完整攻略。 数据库中数据的分组统计简介 在数据库中,数据的分组统计是指将数据按照某个字段进行分组,并每个分进行统计。在Python中可以使用pymysql库实现数据库中数据的分组统计。 步骤1:连接到数据库 在Python中,使用pym库连接到MySQL数据库。以下是连接到MySQL数据库的基本语法: imp…

    python 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部