Indentation en Python avec des exemples

Il est généralement recommandé de ne pas mélanger les onglets et les espaces lors du codage en Python. Faire cela peut éventuellement provoquer un TabErroret votre programme plantera. Soyez cohérent lorsque vous codez - choisissez de mettre en retrait en utilisant des tabulations ou des espaces et suivez la convention que vous avez choisie tout au long de votre programme.

Blocs de code et indentation

L'une des caractéristiques les plus distinctives de Python est son utilisation de l'indentation pour marquer des blocs de code. Considérez l'instruction if de notre simple programme de vérification de mot de passe:

if pwd == 'apple': print('Logging on ...') else: print('Incorrect password.') print('All done!')

Les lignes print («Connexion…») et imprimer («Mot de passe incorrect») sont deux blocs de code distincts. Celles-ci ne durent qu'une seule ligne, mais Python vous permet d'écrire des blocs de code composés d'un nombre quelconque d'instructions.

Pour indiquer un bloc de code en Python, vous devez indenter chaque ligne du bloc du même montant. Les deux blocs de code de notre exemple d'instruction if sont tous deux indentés de quatre espaces, ce qui est une quantité typique d'indentation pour Python.

Dans la plupart des autres langages de programmation, l'indentation est utilisée uniquement pour rendre le code joli. Mais en Python, il est nécessaire pour indiquer à quel bloc de code appartient une instruction. Par exemple, l'impression finale («Tout est fait!») N'est pas indentée et ne fait donc pas partie du bloc else.

Les programmeurs familiers avec d'autres langages se hérissent souvent à l'idée que l'indentation est importante: de nombreux programmeurs aiment la liberté de formater leur code à leur guise. Cependant, les règles d'indentation Python sont assez simples et la plupart des programmeurs utilisent déjà l'indentation pour rendre leur code lisible. Python va simplement plus loin dans cette idée et donne un sens à l'indentation.

Instructions if / elif

Une instruction if / elif est une instruction if généralisée avec plus d'une condition. Il est utilisé pour prendre des décisions complexes. Par exemple, supposons qu'une compagnie aérienne propose les tarifs de billet «enfant» suivants: les enfants de 2 ans ou moins voyagent gratuitement, les enfants de plus de 2 ans mais de moins de 13 ans paient un tarif enfant à tarif réduit et toute personne de 13 ans ou plus paie un tarif adulte régulier. . Le programme suivant détermine combien un passager doit payer:

# airfare.py age = int(input('How old are you? ')) if age <= 2: print(' free') elif 2 < age < 13: print(' child fare) else: print('adult fare')

Une fois que Python a obtenu l'âge de l'utilisateur, il entre l'instruction if / elif et vérifie chaque condition l'une après l'autre dans l'ordre dans lequel elles sont données. Donc d'abord, il vérifie si l'âge est inférieur à 2, et si c'est le cas, il indique que le vol est libre et saute hors de la condition elif. Si l'âge n'est pas inférieur à 2, alors il vérifie la prochaine condition elif pour voir si l'âge est compris entre 2 et 13. Si tel est le cas, il imprime le message approprié et saute hors de l'instruction if / elif. Si ni la condition if ni la condition elif ne sont vraies, alors il exécute le code dans le bloc else.

Expressions conditionnelles

Python a un opérateur logique de plus que certains programmeurs aiment (et d'autres pas!). C'est essentiellement une notation abrégée pour les instructions if qui peuvent être utilisées directement dans les expressions. Considérez ce code:

food = input("What's your favorite food? ") reply = 'yuck' if food == 'lamb' else 'yum'

L'expression sur le côté droit de = dans la deuxième ligne est appelée une expression conditionnelle, et elle s'évalue à «yuck» ou «yum». C'est équivalent à ce qui suit:

food = input("What's your favorite food? ") if food == 'lamb': reply = 'yuck' else: reply = 'yum'

Les expressions conditionnelles sont généralement plus courtes que les instructions if / else correspondantes, bien qu'elles ne soient pas aussi flexibles ou faciles à lire. En général, vous devez les utiliser lorsqu'ils simplifient votre code.

Documentation Python - Indentation