88 votes

Manière pythonique de vérifier si quelque chose existe?

C'est assez basique mais j'étais en train de coder et j'ai commencé à me demander s'il existait un moyen pythonique de vérifier si quelque chose n'existait pas. Voici comment je fais si c'est vrai :

 var = 1
if var:
    print 'it exists'

mais quand je vérifie si quelque chose n'existe pas, je fais souvent quelque chose comme ça :

 var = 2
if var:
    print 'it exists'
else:
    print 'nope it does not'

Cela semble être un gâchis si tout ce qui m'importe est kn Existe-t-il un moyen de vérifier si quelque chose n'existe pas sans l'autre ?

182voto

wim Points 35274

Style LBYL, "regardez avant de sauter":

 var_exists = 'var' in locals() or 'var' in globals()

Style EAFP, "plus facile de demander pardon que la permission":

 try:
    var
except NameError:
    var_exists = False
else:
    var_exists = True

Préférez le second style (EAFP) lors du codage en Python, car il est généralement plus fiable.

6voto

Calvin Froedge Points 3569

Pour vérifier si une var a été définie :

 var = 2

try: 
    varz
except NameError:
    print("No varz")

Pour vérifier si c'est Aucun / Faux

 if varz is None

...ou

 if not varz

5voto

avasal Points 6800
if not var:
    #Var is None/False/0/

if var:
    #Var is other then 'None/False/0'

en Python si varibale a une valeur de None/False/0 alors la condition If var échouera...

et pour les autres objets, il appellera la __nonzero__ qui peut renvoyer True ou False selon sa fonctionnalité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X