Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Opérateurs Logiques | Booléens et Comparaisons
Types de Données en Python

Opérateurs Logiques

Glissez pour afficher le menu

On dit oui et oui, oui ou non, absolument pas. En Python, les opérateurs logiques and, or et not expriment formellement ces idées et produisent des booléens (True/False) utilisés avec les comparaisons dans if/while.

Signification de chaque opérateur

Priorité

not a une priorité plus élevée que and, qui a lui-même une priorité plus élevée que or (not > and > or). Utiliser des parenthèses en cas de doute.

Par exemple, age >= 18 and has_id est True uniquement si les deux conditions sont remplies :

123
age = 21 has_id = True print(age >= 18 and has_id) # True

Table de vérité

Une table de vérité répertorie toutes les valeurs de vérité possibles des entrées et affiche le résultat d'une expression logique. Il s'agit d'un moyen compact de raisonner sur la logique sans exécuter de code.

Utilisation de la table

Si X est False et Y est True, alors X and Y est False, X or Y est True, et not X est True.

Valeurs de retour et court-circuitage

and et or ne renvoient pas toujours les valeurs booléennes True ou False. À la place, ils retournent l'un de leurs opérandes, et Python arrête l'évaluation dès que le résultat final est garanti (court-circuitage).

  • A and B :

    • Si A est falsy, le résultat est garanti comme étant falsy, donc Python court-circuite et retourne A (sans évaluer B).
  • Si A est truthy, le résultat dépend entièrement de B, donc Python évalue et retourne B.

  • A or B :

    • Si A est truthy, le résultat est garanti comme étant truthy, donc Python court-circuite et retourne A (sans évaluer B).
  • Si A est falsy, le résultat dépend entièrement de B, donc Python évalue et retourne B.

  • not X retourne toujours une valeur booléenne réelle : True ou False.

1234567891011121314151617
# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy

1. Complétez les blancs avec True ou False. Soit X = True, Y = False.

2. Quelle affirmation correspond à la logique classique pour « ni X ni Y » ?

3. Que retourne l'expression ?

question-icon

Complétez les blancs avec True ou False. Soit X = True, Y = False.

X and Y
not X

X or Y

Cliquez ou glissez-déposez des éléments et remplissez les blancs

question mark

Quelle affirmation correspond à la logique classique pour « ni X ni Y » ?

Sélectionnez la réponse correcte

question mark

Que retourne l'expression ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 4
some-alt