Terkadang wajar jika memiliki parameter default yang berupa daftar kosong. Namun Python memberikan perilaku yang tidak terduga dalam situasi ini .
Jika misalnya, saya punya fungsi:
def my_func(working_list = []):
working_list.append("a")
print(working_list)
Pertama kali disebut default akan berfungsi, tetapi panggilan setelah itu akan memperbarui daftar yang ada (dengan satu "a" untuk setiap panggilan) dan mencetak versi yang diperbarui.
Jadi, apa cara pythonic untuk mendapatkan perilaku yang saya inginkan (daftar baru di setiap panggilan)?