Pythonの関数とラムダ式
プログラミング言語の中で、特に重要な概念の一つが「関数」です。
Pythonも例外ではなく、関数はPythonプログラミングの中心的な要素の一つです。
関数とは?
関数とは、特定の処理を行い、その結果を返すためのコードのまとまりのことを指します。
関数を使うと、同じような処理を何度も書かずに済むので、コードが整理され、再利用性も高まります。
ポイント
Pythonでは、関数は「def」キーワードを使って定義します。関数名と引数を括弧に入れ、その後にコロン(:)をつけてブロックを開始します。関数の本体はインデント(通常はスペース4つ)でブロックを形成します。
1 2 3 4 |
def greet(name): return "Hello, " + name + "!" print(greet("Alice")) |
出力結果
Hello, Alice!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 リストとラムダ式を理解すれば、Pythonプログラミングの世界が変わる 第1版
ラムダ式
Pythonには、名前を持たない一時的な関数を作るための特殊な構文があります。それが「ラムダ式」です。
ラムダ式は、小さな関数を定義するのに便利で、特に他の関数の引数として関数を渡す必要がある場合によく使われます。
ポイント
ラムダ式は「lambda」キーワードを使って定義します。その後に引数を指定し、コロン(:)の後にその引数を使った式を書きます。
1 2 3 |
square = lambda x: x * x print(square(5)) |
出力結果
25
同じ処理を通常の関数で書くと以下のようになります。
ラムダ式の方が短くてシンプルですが、複雑な処理や複数行にわたる処理を書くには通常の関数の方が適しています。
1 2 3 4 |
def square(x): return x * x print(square(5)) |
出力結果
25
Pythonのmap関数とfilter関数
次に、Pythonの組み込み関数であるmap関数とfilter関数について学んでいきましょう。
これらの関数は、特定の処理をリスト全体に適用したいときや、リストから特定の条件に合う要素だけを取り出したいときなどに使います。
map関数
map関数は、関数とリストを引数に取り、リストの各要素に関数を適用した結果を新たなリストとして返します。
以下に、map関数を使わない場合と使う場合のコードを示します。
map関数を使わない場合
1 2 3 4 5 6 |
numbers = [1, 2, 3, 4, 5] squares = [] for n in numbers: squares.append(n * n) print(squares) |
出力結果
[1, 4, 9, 16, 25]
map関数を使う場合
1 2 3 4 |
numbers = [1, 2, 3, 4, 5] squares = list(map(lambda x: x * x, numbers)) print(squares) |
出力結果
[1, 4, 9, 16, 25]
filter関数
filter関数は、関数とリストを引数に取り、リストの各要素の中から関数がTrueを返す要素だけを新たなリストとして返します。
以下に、filter関数を使わない場合と使う場合のコードを示します。
filter関数を使わない場合
1 2 3 4 5 6 7 |
numbers = [1, 2, 3, 4, 5] even_numbers = [] for n in numbers: if n % 2 == 0: even_numbers.append(n) print(even_numbers) |
出力結果
[2, 4]
filter関数を使う場合
1 2 3 4 |
numbers = [1, 2, 3, 4, 5] even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) print(even_numbers) |
出力結果
[2, 4]
まとめ
この記事では、Pythonの関数とラムダ式について詳しく解説しました。さらに、Pythonの便利な組み込み関数であるmap関数とfilter関数についても学びました。
これらの知識は、Pythonプログラミングの基礎を理解するために必要不可欠なものです。
これらの概念や機能を理解し、実際のコードに活かしていくことで、Pythonの力を最大限に引き出すことができます。
非常に重要なのは、ここで学んだことを自分自身で試し、実際の問題解決に活用することです。
Pythonは多機能で強力な言語であり、その全てを一度に学ぶことは難しいかもしれませんが、基本的な概念を理解し、それを活用することから始めることが重要です。
これからもPythonの学習を頑張ってください!
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!