На протяжении многих лет я замечал переменную 'wildcard' в различных битах и частях Python, с которыми я сталкивался. Я предполагал, что он работает как Haskell: позволяет помещать переменную там, где она требуется в формальных параметрах, но не связывает ее.
Я использовал это, например, в левой части присваивания распаковки кортежа, когда мне не нужна одна из переменных.
Например:
_, extension = os.path.splitext(filename)
Итак, когда я сегодня написал нечто подобное:
(lambda (x,_,_): x)((1,2,3))
I.E. Дважды пробовал привязать символ подчеркивания, получил синтаксическую ошибку. Я был удивлен, увидев, что _ действительно настоящая переменная:
(lambda (x,_,z): _)((1,2,3))
> 2
Похоже, _
- это просто имя переменной, как и любое другое.
Есть ли настоящая переменная с подстановочными знаками, которую я могу использовать по своему усмотрению (т. Е. Могу использовать более одной переменной в назначении распаковки кортежа), как в первом примере?