Python 入門コース / 第4章 関数(第25〜32回) / レッスン 30
再帰関数
終了条件がすべて
再帰関数とは自分自身を呼び出す関数です。必ず必要なのが終了条件(ベースケース)で、これが無いと呼び出しが積み上がり RecursionError になります。
editor.py
呼び出しがどう積み上がるか
factorial(5) は 5 * factorial(4) …と下まで降りてから、戻りながら計算します。フィボナッチ数列は再帰で自然に書けますが、同じ計算を何度もやり直すため非常に遅くなります。
editor.py
再帰とループ、どちらを選ぶか
単純な繰り返しはループが速くて読みやすい。木構造やフォルダの階層のように「入れ子が何段あるか分からない」ものは再帰が自然です。第 39 回のフォルダ探索、第 37 回のネストした JSON の処理などが典型です。
✅ 理解度チェック
再帰関数に必ず必要なものは?