1

我不完全明白为什么关键字match可以用作变量或函数名,不像其他关键字if,while等?

>>> match "abc":
...     case "abc":
...         print('Hello!')
...     
Hello!
>>> from re import match
>>> match('A', 'A Something A')
<re.Match object; span=(0, 1), match='A'>
>>> match = '????'
>>> match
'????'
>>> case = 'something'
>>> case
'something'
4

1 回答 1

5

根据PEP 622match并被case添加为“软关键字”,因此它们将保持有效标识符:

这个 PEP 是完全向后兼容的:matchandcase关键字被提议为(并且保持!)软关键字,因此它们作为变量、函数、类、模块或属性名称的使用完全不受阻碍。

于 2021-08-11T15:00:47.830 回答