Noplay >>Développement


Niveau: Débutant
Licence de l’article: Free Documentation License

version imprimable

Tester l’existence d’une variable en Python

le jeudi 28 décembre 2006 par
Noplay

Lorsque l’on débarque de langage plus permissif que Python comme PHP ou Perl on est surpris lorsqu’en essayant de tester l’existence d’une variable avec un simple if le programme s’arrete.


if toto:
    print toto
 

Traceback (most recent call last):
 File "./test.py", line 4, in ?
   if toto:
NameError: name 'toto' is not defined

En Python on part du principe qu’il est plus facile de demander pardon que de d’obtenir la permission. En effet si vous voulez utiliser une variable, Python va devoir tester en interne si cette variable existe. Si vous testez l’existence de la variable avant le test sera effectué deux fois. Une perte de temps non ? Python lève donc des exceptions en cas de problème.

Dans le cas qui nous intéresse il suffit donc de catcher l’exception NameError.


try:
  print toto
except NameError:
  print "Toto n'existe pas"
 


commentaires (1 message(s))

Tester l’existence d’une variable en Python
le 2 janvier , par David, biologeek:
Tu peux aussi faire : if ’toto’ in locals() : print toto

Répondre à cet article

Un message, un commentaire ?

(Pour créer des paragraphes, laissez simplement des lignes vides.)

Lien hypertexte (optionnel)

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d'informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Qui êtes-vous ? (optionnel)



Webmaster Noplay