_
score可以在Python中的任何位置用作变量名,例如:
_ = 10
print(_)
但是,此处不接受:
d = dict(john = 10, owen=12, jenny=13)
match d:
case {'john' : 10, 'jenny': _}:
print('does not work', _)
ERROR: print('does not work', _)
NameError: name '_' is not defined
然而,完全可以按如下方式使用:
d = dict(john = 10, owen=12, jenny=13)
match d:
case {'john' : 10, 'jenny': a}:
print('does not work', a)
为什么在Python 3.10的新匹配中,_
不是有效的变量名?