Python でのラムダの名前付け
Python でラムダ式を使用すると、匿名関数を定義するための簡潔な構文が提供されます。ただし、開発者によっては、特に大規模な関数内でラムダに名前を付けることが適切かどうかという問題に遭遇する場合があります。
Python のコーディング標準である PEP8 によれば、ラムダに名前を付けることは推奨されていません。その理論的根拠は、ラムダは匿名であることを意図しており、式内に埋め込むことができるということです。ラムダに名前を割り当てると、名前付き関数になるため、この目的が果たせません。
提供された例では、作成者は、numpy 配列に対して複雑なインデックス付けを実行するために、インデクサーと呼ばれる名前付きラムダを作成します。このアプローチはコードの重複を減らしますが、命名上の観点から Python 的とはみなされません。
代わりに、ラムダによって提供される機能が外側の関数の外で必要ない場合は、別の関数を定義することをお勧めします。これにより、より明確な構造が可能になり、読みやすさが向上し、PEP8 ガイドラインに準拠します。
例:
def fcn_operating_on_arrays(array0, array1): def indexer(a0, a1, idx): return a0[idx] + a1[idx] # Code using `indexer` return the_answer
インデックス作成機能を名前付き関数に分離することで、コードはよりモジュール化され、Python のベスト プラクティスに準拠したものになります。
以上がPython に Lambda という名前を付けるべきですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。