ホームページ >バックエンド開発 >Python チュートリアル >Python でのラムダの名前付けは Python 的とみなされますか?
Python では、ラムダ式は匿名関数になるように設計されています。ただし、開発者の中には、コードの再利用や特定の機能のために関数内でラムダに名前を付けることに価値があると考える人もいます。ただし、この方法では、Python の原則に準拠しているかという疑問が生じます。
Python スタイル ガイドである PEP8 によれば、ラムダに名前を付けることは推奨されていません。代わりに、def ステートメントを使用して特定の名前の関数を定義することをお勧めします。これにより、明確さが確保され、トレースバックが簡素化され、ラムダ式を使用する利点が排除されます。
ラムダ式の決定的な特徴は、その匿名性です。名前を付けることで、匿名性が効果的に削除されます。さらに、その機能が、それが出現する関数に固有のものである場合は、別個の関数を定義する必要がない場合があります。代わりに、ネストされた関数の使用を検討してください。
たとえば、指定されたコード スニペット:
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 fcn_operating_on_arrays(array0, array1): def indexer(a0, a1, idx): return a0[idx] + a1[idx] # codecodecode indexed = indexer(array0, array1, indices) # codecodecode in which other arrays are created and require `indexer` return the_answer
ネストされた関数を使用すると、機能は外部関数に固有のままとなり、名前付き関数が提供され、Pythonic に準拠します。原則。
以上がPython でのラムダの名前付けは Python 的とみなされますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。