Retourner au contenu associé (journal : Python et valeurs par défaut des paramètres)
Posté par alberthier (site web personnel) le 31 juillet 2012 à 09:46. En réponse au journal Python et valeurs par défaut des paramètres. Évalué à 5.
la liste a devient un objet attaché à l'objet fonction 'foo' qui est réutilisé à chaque appel
C'est vicieux car on a l'impression de donner une valeur par défaut et ce n'est pas le cas.
http://www.artfulcode.net/articles/mutable-default-parameter-values-python/
Du coup pour les valeurs par défaut, il est préconisé de mettre None et de traiter le cas das la fonction:
def append_one(a=list()): a.append(1) return a
deviendrait
def append_one(a=None): if a is None: a = list() a.append(1) return a
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# J'aime pas ce comportement
Posté par alberthier (site web personnel) . En réponse au journal Python et valeurs par défaut des paramètres. Évalué à 5.
la liste a devient un objet attaché à l'objet fonction 'foo' qui est réutilisé à chaque appel
C'est vicieux car on a l'impression de donner une valeur par défaut et ce n'est pas le cas.
http://www.artfulcode.net/articles/mutable-default-parameter-values-python/
Du coup pour les valeurs par défaut, il est préconisé de mettre None et de traiter le cas das la fonction:
deviendrait