Convention if statement

Résolu
MickaToast Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,

alors voilà, j'ai une petite question par rapport à la convention python.

Est-ce que c'est mieux d'écrire:
if reponseServeur == "True":
    break
elif reponseServeur == "False":
    print("\nCe compte existe deja, veuillez utiliser un autre nom de compte\n\n\n")
else:
    print("\nUne erreur est survenue. Veuillez reessayer\n\n\n")

ou alors:
if reponseServeur == "True": break
elif reponseServeur == "False": print("\nCe compte existe deja, veuillez utiliser un autre nom de compte\n\n\n")
else: print("\nUne erreur est survenue. Veuillez reessayer\n\n\n")

?

Sachant que chaque instructions contient seulement une ligne et que la deuxième technique economise 3 lignes.

Merci pour d'avance pour les réponses!

4 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

C'est mieux d'aller à la ligne.
Donc cette version :
if reponseServeur == "True":
    break
elif reponseServeur == "False":
    print("\nCe compte existe deja, veuillez utiliser un autre nom de compte\n\n\n")
else:
    print("\nUne erreur est survenue. Veuillez reessayer\n\n\n")


Note : si reponseServeur est un booléen, c'est True et False sans guillemet qu'il faut utiliser.

Google is your friend
1
canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   355
 
Tu ne précises pas pourquoi c'est mieux.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Car la PEP 8 le recommande et que c'est précisément l'objet de la question...
0
canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   355
 
C'est exactement pareil, certains disent seulement que la première écriture est plus lisible, mais je suis pas de cet avis.
0
MickaToast Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   24
 
Et d'après la convention python il y a aucune règle? Car je n'arrive pas à trouver quand il y a une ligne uniquement, certes quand il y en a plusieurs j'utilise toujours des indentations sinon ça devient vite illisible.
0
MickaToast Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   24
 
D'ailleurs, est-ce que c'est egalement le cas pour les blocs try/except?
0
canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   355
 
Qu'est-ce que tu appelles "convention" ? Il y a une syntaxe à respecter, et tu la respectes dans les deux cas.
0
MickaToast Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   24
 
J'appelle "convention" la PEP python
0
MickaToast Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   24
 
Dans ce cas si la PEP 8 le recommande j'utiliserais cette syntaxe. Et d'ailleurs pour la variable reponseServeur ce n'est pas un booléen, elle peut aussi retourner "Erreur".
Et d'ailleurs si ça aurait été un booléen, j'aurais utiliser true et false sans guillement, et sans true et false ;)
if reponseServeur:


En tout cas merci à vous deux pour vos réponses et bonne journée!
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Très juste ;-)
Bonne journée à toi.
0