広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向8▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 30 / 69
高階関数(関数を引数として渡す)
このレッスンでは、Pythonの高階関数の考え方を学び、関数を引数として渡す柔軟なコードが書けるようになることを目標にします。「Python 高階関数 とは」「Python sorted key 使い方」で調べている方向けです。
関数の引数として、別の関数を渡せることを高階関数と呼びます。「作業のやり方だけを指定して、実際の作業は相手に任せる」ようなイメージです。sorted()に比較キーを渡すのが代表例です。これまで学んだmap()も、実は関数を引数として受け取る高階関数の一種です。
サンプルコードでは、by_descendingという関数を定義し、sorted(nums, key=by_descending)のようにkey引数として渡しています。keyに渡した関数が返す値を基準に並び替えが行われる仕組みで、key=lambda n: -nのようにラムダ式で短く書くこともよくあります。
初心者がよくつまずくのが、sorted()のkey引数と、実際の並び替え基準の関係です。keyに渡した関数は「並び替えのために使う値」を返す関数であり、直接大小関係を判定する関数ではない点に注意しましょう。降順にしたい場合はreverse=Trueを使う方法もあります。
自分で高階関数を定義できるようになると、共通の処理を部品化して使い回しやすくなります。Pythonのモダンな書き方を支える重要な考え方の1つとして、データ処理のさまざまな場面で活用されています。
Python
OUTPUT / 実行結果
💡 初回実行時はPythonエンジンの読み込みに数秒かかります。
🎯
ここまでできればゴール達成!
並び替えのルールを自由に切り替えられる、柔軟なソート処理が作れるようになります。
並び替えのルールを自由に切り替えられる、柔軟なソート処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)