1. ホーム
  2. python

[解決済み] Pythonのlambdaは引数にアンダースコアが使える?

2022-10-27 18:35:38

質問

次のコードは何をするのでしょうか?

a = lambda _:True

インタラクティブプロンプトを読んでテストしたところ、常に返す関数のようです。 True .

私はこれを正しく理解しているのでしょうか?私は、なぜアンダースコア ( _ )も使用された理由を理解できればと思います。

どのように解決するのですか?

この _ は変数名です。試してみてください。 (この変数名は、通常、無視される変数の名前です。いわばプレースホルダーです)

Pythonです。

>>> l = lambda _: True
>>> l()
<lambda>() missing 1 required positional argument: '_'

>>> l("foo")
True

つまり、このラムダは は一つの引数を必要とします。 . もし、ラムダ を引数無しで を返し、常に True を返すなら、こうしてください。

>>> m = lambda: True
>>> m()
True