Python に Lambda という名前を付けるべきですか?

Mary-Kate Olsen
リリース: 2024-11-24 12:09:15
オリジナル
536 人が閲覧しました

Should I Name My Python Lambdas?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート