Retourner au contenu associé (journal : Python et valeurs par défaut des paramètres)
Posté par GaMa (site web personnel) le 31 juillet 2012 à 11:56. En réponse au journal Python et valeurs par défaut des paramètres. Évalué à 4.
J'ai dit lambda mais c'est exactement la même chose avec les fonction
i = 1 def f1(): return i def f2(i=i): return i print f1() #1 print f2() #1 i=2 print f1() #2 print f2() #1 def create_mult_functions_bad(coefs): ret = [] for coef if coefs: def f(val): return val*coef return ret def create_mult_functions(coefs): ret = [] for coef if coefs: def f(val, coef=coef): return val*coef return ret mult1, mult2, mult3 = create_mult_functions_bad([1,2,3]) print mult1(1) # 3 print mult2(1) # 3 print mult3(1) # 3 mult1, mult2, mult3 = create_mult_functions([1,2,3]) print mult1(1) # 1 print mult2(1) # 2 print mult3(1) # 3
Matthieu Gautier|irc:starmad
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: la valeur par défaut n'est évaluée qu'une fois
Posté par GaMa (site web personnel) . En réponse au journal Python et valeurs par défaut des paramètres. Évalué à 4.
J'ai dit lambda mais c'est exactement la même chose avec les fonction
Matthieu Gautier|irc:starmad