Python 入門コース / 第4章 関数(第25〜32回) / レッスン 30

再帰関数

終了条件がすべて

再帰関数とは自分自身を呼び出す関数です。必ず必要なのが終了条件(ベースケース)で、これが無いと呼び出しが積み上がり RecursionError になります。

editor.py

呼び出しがどう積み上がるか

factorial(5)5 * factorial(4) …と下まで降りてから、戻りながら計算します。フィボナッチ数列は再帰で自然に書けますが、同じ計算を何度もやり直すため非常に遅くなります。

editor.py

再帰とループ、どちらを選ぶか

単純な繰り返しはループが速くて読みやすい。木構造やフォルダの階層のように「入れ子が何段あるか分からない」ものは再帰が自然です。第 39 回のフォルダ探索、第 37 回のネストした JSON の処理などが典型です。

✅ 理解度チェック

再帰関数に必ず必要なものは?