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

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日

相关文章

  • python 按照固定长度分割字符串的方法小结

    下面是“python 按照固定长度分割字符串的方法小结”的攻略: 1. 使用正则表达式 使用正则表达式是较为常见的一种方法。下面是使用re模块和正则表达式来实现的示例代码: import re s = ‘hello world’ result = re.findall(‘.{1,3}’, s) print(result) # [‘hel’, ‘lo ‘, ‘…

    python 2023年6月5日
    00
  • python实现百度OCR图片识别过程解析

    Python实现百度OCR图片识别过程解析 百度OCR是一种基于人工智能技术的图像识别服务,可以识别多种类型的图像,包括文字、数字、二维码、条形码等。在本文中,我们将使用Python实现百度OCR图片识别过程,并提供两个示例,以便更好地理解这个过程。 准备工作 在使用百度OCR之前,我们需要先注册百度云账号,并创建一个OCR应用。创建应用后,我们可以获取到一…

    python 2023年5月15日
    00
  • Python实现随机森林RF模型超参数的优化详解

    Python实现随机森林RF模型超参数的优化详解 什么是随机森林? 随机森林(Random Forest,RF)是一种集成学习(Ensemble Learning)方法,通过集成多个决策树来实现分类、回归等任务。随机森林模型在机器学习中应用广泛,被认为是一种性能比较优秀的算法之一。 随机森林的参数 随机森林模型的参数主要包括两类: 决策树参数,如树的深度、每…

    python 2023年6月3日
    00
  • Python局部函数及用法详解(含nonlocal关键字)

    Python局部函数及用法详解(含nonlocal关键字) 什么是局部函数? 在Python中,函数可以作为一个独立的对象返回或者被作为参数传递给其他函数,并可以在函数内部定义另一个函数,这个在Python中被称之为局部函数。例如: def outer(): def inner(): print("This is a inner function&…

    python 2023年6月5日
    00
  • Python中字符串的常用方法总结

    针对Python中字符串的常用方法总结,我们可以从以下几个方面进行讲解: 字符串的创建 在Python中创建字符串可以使用单引号或双引号,例如: str1 = ‘hello world’ str2 = "hello world" 除了这种方式,我们还可以使用三引号来创建多行字符串,例如: str3 = ”’hello world”’ …

    python 2023年6月5日
    00
  • Python备份Mysql脚本

    让我来详细讲解一下Python备份MySQL脚本的完整攻略。 Python备份MySQL脚本 背景 在进行Web开发的过程中,我们经常需要备份MySQL数据库。手动备份虽然不难,但是对于经常需要备份的数据库来说,手动备份显然是浪费时间的。因此我们需要编写一个Python脚本,实现自动备份MySQL数据库的功能。 实现过程 Python备份MySQL脚本的实现…

    python 2023年6月3日
    00
  • Python playwright学习之自动录制生成脚本

    下面是详细讲解 “Python playwright 学习之自动录制生成脚本” 的攻略。 简介 Python Playwright 是一种自动化测试工具,其提供了多种编程语言客户端,其中 Python 是其中之一。使用 Python Playwright,可以帮助我们更加快速、高效地编写自动化测试脚本。在本文中,我们将介绍如何使用 Python Playwr…

    python 2023年5月19日
    00
  • 如何在 Redis 中使用 Lua 脚本实现延迟队列?

    以下是详细讲解如何在 Redis 中使用 Lua 脚本实现延迟队列的完整使用攻略。 Redis 延迟队列简介 Redis 延迟队列是一种常见的消息队列,用于实现延迟任务。Redis 延迟队列常使用有序集合(Sorted Set)实现,其中任务的执行时间作为有序集合的分数,任务的内容作为有序集合成员。 Redis Lua 脚本实现延迟队列 在 Redis 中,…

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