ホームページ >バックエンド開発 >Python チュートリアル >名前を付けるかどうか: Python で Lambda に名前を割り当てる必要があるのはどのような場合ですか?
Python でラムダに名前を付ける必要がありますか?
ラムダ式は、Python で匿名関数を定義するための簡潔で便利な方法を提供します。ただし、コードの再利用や特定の機能のために、関数内のラムダに名前を割り当てたくなることがよくあります。
ラムダの名前付けに関する批判
この方法は便利に見えるかもしれませんが、これは一般に非 Python とみなされ、PEP8 の推奨に反します。 PEP8 には次のように記載されています:
「ラムダ式を識別子に直接バインドする代入ステートメントの代わりに、常に def ステートメントを使用してください。」
この推奨の背後にある理論的根拠は、ラムダをfunction:
例
例を考えてみましょう。質問で提供されている関数:
def fcn_operating_on_arrays(array0, array1): indexer = lambda a0, a1, idx: a0[idx] + a1[idx] # ... indexed = indexer(array0, array1, indices) # ...
名前付きを使用する代わりにラムダでは、明示的に名前を付けた別個の関数を定義する方が Python 的です。
def index_array(a0, a1, idx): return a0[idx] + a1[idx] def fcn_operating_on_arrays(array0, array1): # ... indexed = index_array(array0, array1, indices) # ...
結論
ラムダに名前を割り当てると、特定の状況では便利に見えるかもしれませんが、はお勧めできません。代わりに、明確さ、読みやすさ、ベスト プラクティスの順守を維持するために明示的な関数定義を使用するという Python の原則に従ってください。
以上が名前を付けるかどうか: Python で Lambda に名前を割り当てる必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。