J'ai donc une erreur très étrange en ce moment. J'ai trouvé où cela arrive, et voici le code le plus simple qui peut le reproduire.Problèmes de portée Python uniquement lorsque _assigning_ à une variable
def cause_an_error():
some_var = False
def some_nested_func():
print some_var
#some_var = True
some_nested_func()
>>> cause_an_error()
False
Si vous l'exécutez tel quel, il affiche "Faux". Mais si vous supprimez cette ligne, il donne une erreur:
Traceback (most recent call last):
File "<pyshell#224>", line 1, in <module>
cause_an_error()
File "<pyshell#223>", line 6, in cause_an_error
some_nested_func()
File "<pyshell#223>", line 4, in some_nested_func
print some_var
UnboundLocalError: local variable 'some_var' referenced before assignment
Notez l'erreur se produit sur la ligne qui travaillé très bien avant.
Des idées sur ce qui cause cela et comment je peux résoudre ce problème? J'utilise Python 2.6.1.
très similaire à ce http://stackoverflow.com/questions/2516652/scoping-problem-in-recursive-closure –