ホームページ >バックエンド開発 >Python チュートリアル >Python で匿名 Lambda 関数に名前を付ける必要がありますか?
Python での匿名関数の名前付け: Python 的なアプローチ
Python では、ラムダ式を使用して匿名関数を迅速かつ簡潔に作成する便利な方法が提供されます。コード。ただし、次のような疑問が生じます: 関数内でこれらのラムダに名前を付けるのは Python 的ですか?
PEP8 スタイル ガイドラインによれば、ラムダ式を識別子に直接割り当てることは推奨されません。この方法では、匿名関数と名前付き関数の区別が曖昧になり、デバッグとコードの可読性がより困難になります。
ラムダの名前付けを避けるべき場合
経験則として、名前付けは避けてください。機能が外側の関数に固有であり、コードベースの他の場所では必要ない場合は、lambdas。このような場合、ラムダの単純さと簡潔さは、名前を付ける必要性を上回ります。
名前付きラムダの代替
機能が再利用または共有される必要がある場合は、続く代替案:
例
次のコードを考えてみましょう。
def fcn_operating_on_arrays(array0, array1): indexer = lambda a0, a1, idx: a0[idx] + a1[idx] # codecodecode indexed = indexer(array0, array1, indices) # codecodecode in which other arrays are created and require `indexer` return the_answer
代わりにラムダ式インデクサーに名前を付ける場合は、別の関数を使用して書き換えることができます:
def indexer(a0, a1, idx): return a0[idx] + a1[idx] def fcn_operating_on_arrays(array0, array1): indexed = indexer(array0, array1, indices) # codecodecode in which other arrays are created and require `indexer` return the_answer
以上がPython で匿名 Lambda 関数に名前を付ける必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。