J'ai une bonne compréhension de la clause try-except de python, mais je rencontre des problèmes lorsque j'essaie de la mettre dans une fonction.Python Try-Except à l'intérieur de la fonction
>>> def tryAppend(child, parent):
... try:
... parent.append(child)
... except NameError:
... print "WRONG NAME"
>>> var1 = []
>>> var2 = 'test2'
>>> tryAppend(var2, var1) #works, no error
>>> tryAppend(foo, var1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'foo' is not defined
c'est presque comme si python ne voyait pas l'instruction try:. Toute aide est appréciée.
var2 est un espace de noms pour la chaîne « test2 ».Si vous voulez entrer une chaîne 'foo', alors vous devez l'encapsuler dans '' ou "", sinon, si foo n'est pas défini ailleurs dans le programme comme une fonction ou une classe ou autre, cela ne fonctionne pas. Essentiellement, vous essayez d'utiliser un espace de noms avant de le déclarer. – momo