"Ajout des expressions conditionnelles :
>>> import os
>>> a = "ERROR" if os.system("ls") != 0 else "OK"
>>> print a
OK
"
Cet exemple est mauvais car les expressions conditionnelles ont été conçues pour être le plus souvent comme suit :
contents = ((doc + '\n') if doc else '')
C'est à dire :
"Le cas le plus probable est 'doc est vrai' et dans ce cas, contents = ((doc + '\n') . Execptionnllement , ce sera faux et on exécutera ce qu'il y a après le else."
Dans l'esprit, c'est donc plutôt:
"OK" if os.system("ls") else a="ERROR" en supposant qu'on n'a peu de chance que ls ne fonctionne pas.
C'est façon de voir justifie cette syntaxe qui peut sembler assez étrange.
[^] # Expressions conditionnelles
Posté par fakbill . En réponse à la dépêche PyQt v4 et Python 2.5 beta 1. Évalué à 2.
>>> import os
>>> a = "ERROR" if os.system("ls") != 0 else "OK"
>>> print a
OK
"
Cet exemple est mauvais car les expressions conditionnelles ont été conçues pour être le plus souvent comme suit :
contents = ((doc + '\n') if doc else '')
C'est à dire :
"Le cas le plus probable est 'doc est vrai' et dans ce cas, contents = ((doc + '\n') . Execptionnllement , ce sera faux et on exécutera ce qu'il y a après le else."
Dans l'esprit, c'est donc plutôt:
"OK" if os.system("ls") else a="ERROR" en supposant qu'on n'a peu de chance que ls ne fonctionne pas.
C'est façon de voir justifie cette syntaxe qui peut sembler assez étrange.