Às vezes, parece natural ter um parâmetro padrão que é uma lista vazia. Ainda assim, o Python apresenta um comportamento inesperado nessas situações .
Se, por exemplo, tenho uma função:
def my_func(working_list = []):
working_list.append("a")
print(working_list)
A primeira vez que for chamado de padrão funcionará, mas as chamadas posteriores atualizarão a lista existente (com um "a" em cada chamada) e imprimirão a versão atualizada.
Então, qual é a forma pítônica de obter o comportamento que desejo (uma lista nova em cada ligação)?