ラムダ関数
Pythonの無名関数について学びます。
「ラムダ関数」はCoddyKit上の無料Python For Kidsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython For Kids学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python For Kidsコースには全4レッスンが含まれています。
ラムダ関数とは
ラムダ関数は、lambdaキーワードを使って定義する小さな無名関数です。defを使って正式に定義しなくても、簡単な関数を作成できるため便利です。
- 無名:名前を持ちません。
- 簡潔:通常、短く単純な処理に使われます。
ラムダ関数の仕組みを見てみましょう。
ラムダ関数の構文
ラムダ関数の基本的な構文は次のとおりです。
lambda parameters: expression
例:
# Defines a lambda function that adds two numbers
add = lambda x, y: x + y
ラムダ関数の使用
ラムダ関数を定義すると、引数を渡して呼び出すことで、他の関数と同じように使用できます。
例:
# Calls the lambda function to add 5 and 3
result = add(5, 3)
print("Sum:", result) # Output: Sum: 8map() でのラムダ関数
map() 関数は、ラムダ関数をイテラブル(リストなど)の各要素に適用し、mapオブジェクトを返します。
例:
# List of numbers
numbers = [1, 2, 3, 4, 5]
# Uses map with a lambda to square each number
squared = map(lambda x: x ** 2, numbers)
# Converts the map object to a list and prints it
print(list(squared)) # Output: [1, 4, 9, 16, 25]
filter() でのラムダ関数
filter() 関数は、ラムダ関数を使って条件に基づき、イテラブルの要素を絞り込みます。
例:
# List of numbers
numbers = [10, 15, 20, 25, 30]
# Uses filter with a lambda to keep only even numbers
even_numbers = filter(lambda x: x % 2 == 0, numbers)
# Converts the filter object to a list and prints it
print(list(even_numbers)) # Output: [10, 20, 30]
sorted() でのラムダ関数
sorted() 関数では、ラムダ関数をキーとして使用し、特定の基準に基づいて並べ替え順を決めることができます。
例:
# List of tuples with names and ages
people = [("Alice", 30), ("Bob", 25), ("Charlie", 35)]
# Sorts the list by age using a lambda as the key
sorted_people = sorted(people, key=lambda person: person[1])
# Prints the sorted list
print(sorted_people) # Output: [('Bob', 25), ('Alice', 30), ('Charlie', 35)]
ラムダ関数の制限
ラムダ関数は便利ですが、いくつかの制限があります。
- 単一の式: 含められるのは1つの式だけで、複数の文を含めることはできません。
- アノテーション不可: ラムダ関数は型アノテーションに対応していません。
- 可読性: ラムダ関数を使いすぎると、コードが読みにくくなることがあります。
コードを簡潔で分かりやすく保つため、ラムダ関数は適切に使用してください。
よくできました!
Pythonで小さな無名関数を作成するための、ラムダ関数の使い方を学びました。ラムダ関数を使うとコードをより簡潔にでき、map()、filter()、sorted() などの関数と組み合わせると特に便利です。ラムダ関数をプログラムに取り入れて、コーディングにどのように役立つかを確認しながら、練習を続けてください。

ラムダ関数の概要
ラムダ関数
関数のレッスンへようこそ!今日は、コードをより簡潔かつ効率的にできる、Pythonの小さな無名関数であるラムダ関数について学びます。

# Defines a lambda function that multiplies two numbers
multiply = lambda x, y: x * y
# Uses map with the lambda function to multiply each number by 2
numbers = [1, 2, 3, 4]
result = map(multiply, numbers, [2, 2, 2, 2])
# Converts the map object to a list and prints it
print(list(result))
よくある質問
「ラムダ関数」レッスンは無料ですか?
はい。「ラムダ関数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python For Kidsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python For Kidsコースには全4レッスンが含まれています。
「ラムダ関数」で何を学びますか?
Pythonの無名関数について学びます。 ブラウザで直接実行するハンズオンコードでPython For Kidsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python For Kidsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython For Kidsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「ラムダ関数」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython For Kidsレッスンでコードを書いて実行できますか?
はい。すべてのPython For Kidsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。