Pythonでは関数のデフォルト値は最初の呼び出ししか評価されません。
またPythonの変数は参照渡しなので関数のデフォルトをリストなどのミュータブルな値を指定した場合、以下のような結果になります。
なので、関数のデフォルトにはlistやdictのようなミュータブルな値は指定せず、数値型や文字列型、タプル型、またはNoneを指定するのが良いようです。
Pythonでは関数のデフォルト値は最初の呼び出ししか評価されません。
またPythonの変数は参照渡しなので関数のデフォルトをリストなどのミュータブルな値を指定した場合、以下のような結果になります。
なので、関数のデフォルトにはlistやdictのようなミュータブルな値は指定せず、数値型や文字列型、タプル型、またはNoneを指定するのが良いようです。