首页 > 解决方案 > 什么是“软关键字”?

问题描述

根据keyword模块的文档,Python 3.9 中增加了两个新成员:

然而,他们的文档并没有透露任何关于他们目的的信息。在What's New文章中甚至没有提到此更改,通常所有 API 更改都记录在该文章中。深入挖掘源代码最终会导致这个拉取请求,其中提到“这本质上是一个内部工具”并且“软关键字仍未使用”。那么 Python 的软关键字的目的是什么?

标签: pythonpython-3.9

解决方案


简短:软关键字仍然可以用作变量或参数名称。

PEP 622揭示了一些亮点(重点是我的):

硬关键字和软关键字的区别在于硬关键字始终是保留字,即使在它们没有意义的位置(例如 x = class + 1),而软关键字仅在上下文中获得特殊含义。

[...] match 和 case 关键字被提议为软关键字,以便它们分别在 match 语句或 case 块的开头被识别为关键字,但允许在其他地方用作变量或参数名称.


推荐阅读