if en Python : Déclarations Conditionnelles Expliquées

Apprenez à utiliser les déclarations if en Python. Guide complet avec syntaxe, exemples et meilleures pratiques pour la programmation conditionnelle. Exemples de code interactifs inclus.

La déclaration if en Python est une déclaration conditionnelle qui exécute un bloc de code uniquement lorsqu'une condition spécifique est remplie. Elle évalue une expression booléenne qui renvoie True ou False, et exécute le bloc de code indenté lorsque la condition est True. Les déclarations if de Python permettent la prise de décision dans vos programmes, permettant différents chemins de code basés sur des conditions variables.

Syntaxe de Base de la Déclaration if

La syntaxe d'une déclaration if en Python est simple :

if condition:
    # code to execute if condition is True
    statement

La condition est une expression booléenne (comme number > 5 ou name == "Alice") qui s'évalue à True ou False. Si la condition s'évalue à True, le bloc de code indenté s'exécute ; si False, Python ignore complètement le bloc.

Exemple 1 : Déclaration if Simple

number = 10

if number > 0:
    print("The number is positive")
Sortie:
The number is positive

Exemple 2 : Déclaration if avec Condition False

number = -5

if number > 0:
    print("The number is positive")

print("This line always executes")
Sortie:
This line always executes

Dans le deuxième exemple, puisque -5 n'est pas supérieur à 0, la déclaration print à l'intérieur du bloc if est ignorée.

Indentation dans les Déclarations if

Python s'appuie sur l'indentation (espaces en début de ligne) pour définir la portée des blocs de code, contrairement à d'autres langages qui utilisent des accolades. Toutes les déclarations à l'intérieur d'un bloc if doivent être indentées de la même quantité, généralement 4 espaces.

Indentation Correcte :

age = 20

if age >= 18:
    print("You are an adult")
    print("You can vote")
    print("You have full legal rights")

Indentation Incorrecte (causera une erreur) :

age = 20

if age >= 18:
print("You are an adult")  # IndentationError

Si vous n'utilisez pas d'indentation correcte, Python lèvera une IndentationError car il ne peut pas déterminer quelles déclarations appartiennent au bloc if.

Opérateurs de Comparaison avec les Déclarations if

Python prend en charge les opérateurs de comparaison standard qui renvoient des valeurs booléennes à utiliser dans les déclarations if :

  • == - Égal à
  • != - Différent de
  • < - Inférieur à
  • <= - Inférieur ou égal à
  • > - Supérieur à
  • >= - Supérieur ou égal à

Exemple : Utilisation de Différents Opérateurs de Comparaison

a = 33
b = 200

if b > a:
    print("b is greater than a")

if a != b:
    print("a and b are not equal")

if a <= 50:
    print("a is 50 or less")
Sortie:
b is greater than a
a and b are not equal
a is 50 or less

Déclarations Multiples dans le Bloc if

Vous pouvez inclure plusieurs déclarations dans un bloc if tant qu'elles ont toutes le même niveau d'indentation.

Exemple :

score = 95

if score >= 90:
    print("Excellent work!")
    print("You earned an A grade")
    grade = "A"
    print(f"Your grade is: {grade}")
Sortie:
Excellent work!
You earned an A grade
Your grade is: A

Variables Booléennes dans les Déclarations if

Les variables booléennes peuvent être utilisées directement dans les déclarations if sans opérateurs de comparaison.

Exemple :

is_logged_in = True

if is_logged_in:
    print("Welcome back!")

is_raining = False

if is_raining:
    print("Take an umbrella")
else:
    print("Enjoy the sunshine")
Sortie:
Welcome back!
Enjoy the sunshine

Python traite certaines valeurs comme False dans un contexte booléen : 0, chaînes vides "", None, et collections vides comme [] ou {}. Toutes les autres valeurs sont traitées comme True.

Valeurs Truthy et Falsy

Python peut évaluer de nombreux types de valeurs comme True ou False dans les déclarations conditionnelles :

Valeurs Falsy (évaluées comme False) :

  • 0 (zéro)
  • "" (chaîne vide)
  • None
  • [] (liste vide)
  • (dictionnaire vide)
  • () (tuple vide)

Valeurs Truthy (évaluées comme True) :

  • Tout nombre non nul (positif ou négatif)
  • Toute chaîne non vide
  • Collections non vides

Exemple :

name = ""

if name:
    print(f"Hello, {name}")
else:
    print("Name is empty")

items = [1, 2, 3]

if items:
    print("List has items")
Sortie:
Name is empty
List has items

Déclaration if sur Une Ligne

Pour des conditions simples, vous pouvez écrire une déclaration if sur une seule ligne :

Format Standard :

temperature = 30

if temperature > 25:
    print("It's hot outside")

Format Compact :

temperature = 30

if temperature > 25: print("It's hot outside")

Les deux versions produisent la même sortie, mais le format sur une ligne est plus concis pour les déclarations simples.

Cas d'Usage Courants

Cas d'Usage 1 : Valider l'Entrée Utilisateur

age = int(input("Enter your age: "))

if age >= 18:
    print("You are eligible to vote")

Cas d'Usage 2 : Vérifier les Nombres Pairs ou Impairs

number = 7

if number % 2 == 0:
    print(f"{number} is even")

Cas d'Usage 3 : Validation de Mot de Passe

password = "secret123"

if len(password) >= 8:
    print("Password is strong enough")

Cas d'Usage 4 : Vérifier le Contenu d'une Liste

shopping_cart = ["apple", "banana", "milk"]

if "milk" in shopping_cart:
    print("Milk is in your cart")

Erreurs Courantes à Éviter

Erreur 1 : Oublier les Deux Points

# Wrong
if number > 0
    print("Positive")

# Correct
if number > 0:
    print("Positive")

Erreur 2 : Utiliser = Au Lieu de ==

x = 5

# Wrong (assignment, not comparison)
if x = 5:
    print("x is 5")

# Correct
if x == 5:
    print("x is 5")

Erreur 3 : Indentation Incohérente

# Wrong
if True:
    print("Line 1")
      print("Line 2")  # Different indentation level

# Correct
if True:
    print("Line 1")
    print("Line 2")

Exemples de Pratique

Exemple 1 : Vérificateur de Température

temperature = 22

if temperature > 30:
    print("It's very hot")

if temperature > 20:
    print("It's warm")

if temperature < 10:
    print("It's cold")
Sortie:
It's warm

Exemple 2 : Attribution de Notes

marks = 85

if marks >= 90:
    print("Grade: A")

if marks >= 80 and marks < 90:
    print("Grade: B")

if marks >= 70 and marks < 80:
    print("Grade: C")
Sortie:
Grade: B

Exemple 3 : Vérification d'Appartenance

username = "admin"

if username == "admin":
    print("Access granted to admin panel")
    print("Loading admin dashboard...")
Sortie:
Access granted to admin panel
Loading admin dashboard...

Essayez Vous-Même

Pratiquez ce que vous avez appris en modifiant le code ci-dessous. Essayez de changer les valeurs et conditions pour voir différentes sorties !

Prêt
main.py
Console de Sortie 0 ms
// Cliquez sur "Exécuter le Code" pour voir les résultats

Sujets Connexes

Questions Fréquemment Posées

Quelle est la différence entre if et if else en Python ?

Une déclaration if n'exécute du code que lorsque la condition est True. Une déclaration if else fournit un bloc de code alternatif qui s'exécute lorsque la condition est False.

Dois-je utiliser des parenthèses autour de la condition dans les déclarations if Python ?

Non, les parenthèses sont optionnelles en Python. if (x > 5): et if x > 5: sont tous deux valides, mais le dernier est plus pythonique.

Puis-je utiliser plusieurs conditions dans une seule déclaration if ?

Oui, vous pouvez utiliser des opérateurs logiques comme and, or et not pour combiner plusieurs conditions : if age >= 18 and has_license:.

Que se passe-t-il si je n'indente pas le code après une déclaration if ?

Python lèvera une IndentationError car il nécessite une indentation pour définir les blocs de code.