La meilleure pratique pour le réglage de la valeur par défaut d'un paramètre qui est censé être une liste en Python?

J'ai une fonction Python qui prend une liste en tant que paramètre. Si j'ai mis la valeur par défaut du paramètre à une liste vide comme ceci:

def func(items=[]):
    print items

Pylint me dire "Dangereux valeur par défaut [] comme argument". Donc, je me demandais quelle est la meilleure pratique ici?

  • c'est quelque chose que chaque débutant en python talons de leurs pieds sur une ou deux fois, c'est assez cool que pylint a arrêté d'écrire un horrible bug !
  • Une simple astuce consiste à utiliser un tuple vide: def func(items=()). Un tuple est pas mutable donc pylint ferme, mais la question demande une liste, donc ce ne sera pas toujours pertinentes ou possibles.
InformationsquelleAutor Jack Z | 2012-03-02