Python 入門コース / 第4章 関数(第25〜32回) / レッスン 26
デフォルト引数とキーワード引数
省略できる引数、名前で渡す引数
引数に = で既定値を書くと省略可能になります。呼び出し側で 名前=値 と書けば順番を気にせず渡せて、読み手にも意味が伝わります。
editor.py
ルールは 1 つ、デフォルト値のある引数は後ろにまとめること。呼び出し時も「位置引数 → キーワード引数」の順です。逆にするとエラーになります。
デフォルト値にリストを使わない
Python で最も有名な落とし穴です。デフォルト値は関数を定義したときに 1 回だけ作られ、呼び出しごとに使い回されます。リストや辞書を既定値にすると、前回の呼び出しの結果が残ります。
editor.py
覚え方は単純です。デフォルト値に置いていいのは、変更できない値だけ(数値・文字列・タプル・None)。リストや辞書を渡したいときは None を既定値にして、関数の中で作ります。
✅ 理解度チェック
引数のデフォルト値に空リスト [] を使うと何が起きる?