Le piège à con du jour : variables locales en python
January 27, 2012 by nonoCatégories geekeries - Mots-clés python
Note pour plus tard. Soit un bout de code python qui ressemble à ça:
mavariable = None def fonction(): if mavariable is None: mavariable = 'toto' blablabla()
Ne pas oublier que dans ce cas la variable mavariable est locale à la fonction à cause de l'assignation à l'intérieur du if. La preuve :
>>> fonction() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in fonction UnboundLocalError: local variable 'mavariable' referenced before assignment
Grmpf.
Merci à Sam qui a fouillé dans la doc : c'est effectivement écrit là.