概要
Pythonの教材で紹介されていたlambda式のサンプルコードの記述法を使っていたのですが、その記述法が実は、Pythonコードのスタイルガイド、PEP8
では非推奨な記述法だったということが御座いました。そういった経緯を経て、私が実際に直面した誤りから学んだPEP8
をもとにlambda式
の適切な使用方法について記述させて頂きます。
ラムダ式とは何か?
Pythonでは、小さな無名関数を定義するためにlambda式
を使用することができます。これは一行で短い関数を記述するために便利な機能で、通常は他の関数の引数として使用されます。
例えば次のようになります:
numbers = [1, 2, 3, 4, 5]
doubled = map(lambda x: 2*x, numbers)
この例では、map関数
の引数としてラムダ式を使用しています。
PEP8とラムダ式
しかし、Pythonの公式スタイルガイドであるPEP8
では、ラムダ式の使い方について明確な指針が示されています。特に、ラムダ式を変数に直接代入することは推奨されていません。
以下にその例を示します:
# 間違い:
f = lambda x: 2*x
このような場合には、代わりにdef文
を使って関数を定義すべきです。
# 正しい:
def f(x): return 2*x
このようにすることで、コードはより明確で読みやすくなります。そして、コードがPEP8に準拠することで、他のPythonプログラマーとの間でのコードの理解が容易になります。
まとめ
PythonのPEP8スタイルガイドに準拠することは、Pythonプログラマーにとって重要な目標の一つであるべきです。その一方で、ラムダ式もその強力さと便利さから、適切に使用すると非常に効果的なツールとなります。しかし、それらを適切に使用するためには、Pythonのスタイルガイドを理解し、それに従うことが重要です。