空のリストであるデフォルトのパラメータがあるのは自然なことです。しかし、Pythonはこれらの状況で予期しない動作をします。
たとえば、私が関数を持っている場合:
def my_func(working_list = []):
working_list.append("a")
print(working_list)
初めて呼び出されたときはデフォルトで機能しますが、その後に呼び出すと既存のリストが更新され(各呼び出しに「a」が1つずつ)、更新されたバージョンが出力されます。
それで、私が望む動作(各呼び出しの新しいリスト)を取得するためのpython的な方法は何ですか?