Почему ключевое слово match в Python 3.10 может быть именем переменной или функции? [дубликат]
Я не совсем понимаю, почему ключевое слово
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'
1 ответ
Решение
Согласно PEP 622 и добавляются как «мягкие ключевые слова» , поэтому они останутся действительными идентификаторами:
Этот PEP полностью обратно совместим:
match
иcase
Ключевые слова предлагаются в качестве (и остаются!) мягкими ключевыми словами, поэтому их использование в качестве имен переменных, функций, классов, модулей или атрибутов вообще не затруднено.