何年にもわたって、私が遭遇したさまざまな Python の小片に「ワイルドカード」変数があることに気付きました。Haskell のように機能すると仮定しました: 変数を仮パラメーターで必要な場所に置くことはできますが、バインドはできません。
たとえば、変数の 1 つが必要ない場合に、タプルのアンパック代入の左側でこれを使用しました。
例えば:
_, extension = os.path.splitext(filename)
だから、今日これに似たものを書いたとき:
(lambda (x,_,_): x)((1,2,3))
IE アンダースコアを 2 回バインドしようとしましたが、構文エラーが発生しました。_ が実際の変数であることに驚きました。
(lambda (x,_,z): _)((1,2,3))
> 2
_
他のものと同じように、単なる変数名のように見えます。
最初の例のように、好きなように使用できる真のワイルドカード変数はありますか (つまり、タプルのアンパック代入で複数を使用できます)。