ラムダ関数 (Lambda)
ラムダ関数 (Lambda)
🎯 このレッスンを読み終えると
このレッスンを読み終えると、以下の3つを自信を持ってできるようになります。
- ▸✅ lambda + map / filter / sorted の key 引数
- ▸✅ lambda が複雑になったら名前付き関数に切り出す
- ▸✅ functools.partial で引数を固定する
学習目標をチェックリストとして持ち、すべて答えられるようになったらレッスンを閉じましょう。
lambda の5つのパターン — コード + 実行結果
lambda = 名前のない1行関数。短い関数をその場で作りたいときに使う。
1. def vs lambda — 同じ関数
lambda 引数: 式 — return は自動。
2. 本当の使いどころ — sorted() の key
key=lambda x: ... が lambda の最大の用途。一度使い捨てる関数。
3. map · filter と組み合わせる
⚠️ ただし list comprehension の方がよりPythonic — [x*x for x in 数字たち]。
4. dict のソート — value 基準
5. 悪い例 — lambda の乱用
ルール: lambda はその場で一度だけ使うときに限る。名前をつけるなら def。
一行まとめ
要点: 名前のない短い使い捨て関数。長くなったら def。
💡 重要ポイント
1. ラムダは単一の式のみ使用可能(文は不可)
2. 複雑なロジックには通常の関数を推奨
3. sorted()、max()、min() の key 引数に活用
Python は簡潔で読みやすい構文により、幅広い分野で活用されています。インタープリタ言語であるため、REPL 環境で即座に実行できます。PEP 8 コーディングスタイルガイドに従い、Black/autopep8 で自動フォーマットします。型ヒント(type hints)によりコードの可読性と IDE サポートが向上します。pip でパッケージを管理し、venv/conda で仮想環境を構成します。
🐍 実際に試してみよう — ラムダ関数 (Lambda)
🤖 AIにこう依頼してみよう
このレッスンの概念を知っていれば、AIに具体的な指示を出せます。漠然とした「直して」ではなく、語彙のあるリクエスト — それがトークン節約の出発点です。
- ▸「この関数に型ヒント + docstring を追加して」
- ▸「この関数の副作用(グローバル変数の変更)を除去して純粋関数に変えて」
なぜこれがトークンを減らすのか
概念を知らないと、AIの回答を受け取っても「それってどういう意味ですか?」と再び聞き直す必要があります。その「聞き直し」がトークンを消費します。概念を一度理解しておくと、会話が一度で完結します。