Python在上线任何新功能之前,都需要由PEP,即Python增强提案(Python Enhancement Proposal)概述新功能内容。因此,了解PEP能够知道Python在未来可能会进行哪些更新。在本文中,我们将详细讨论即将推出的几项Python新功能的提案。我们将所有提案分为以下几类,分别是语法更改、类型标注、调试、生活质量、生态改善等。
语法变化
第一个提案是PEP 671,它提出了后期绑定参数默认值的语法。尽管Python中的函数可以将其他函数作为参数。但是,目前无法很好的为此类参数设置默认值。通常空值或哨兵值(全局常量)用作默认值,但这样help(function)
无法在参数上使用。因此PEP 671中描述了使用=>( param=>func())
将函数指定为默认参数的新语法。
# Current solution:
_SENTINEL = object()
def func(param=_SENTINEL):
if param is _SENTINEL:
# default_param holds expected default value
param = default_param
# New solution:
def func(param=>default_param