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

bookIdentité vs Égalité

Ce chapitre distingue l'identité de l'égalité. L'identité détermine si deux variables font référence au même objet en mémoire ; l'égalité détermine si deux objets ont la même valeur. Comprendre cette distinction est essentiel pour écrire des conditionnelles, des validations et une logique de traitement des données correctes.

Qu'est-ce que is ?

  • is vérifie l'identité de l'objet — si deux variables pointent vers le même objet en mémoire ;
  • == vérifie l'égalité des valeurs — si deux objets ont le même contenu.
1234567
a = [1, 2] b = [1, 2] c = a print(a == b) # True - same contents print(a is b) # False - different list objects print(a is c) # True - c refers to the very same list as a
copy

Quand utiliser is et quand l'éviter

  • Utiliser is lors de la comparaison avec des singletons tels que None ;
123
value = None if value is None: print("No value")
copy
  • is not est le test d'identité négatif ;
123
var = 64 if var is not None: print("var has a value: ", var)
copy
  • Éviter d'utiliser is pour vérifier l'égalité entre des nombres ou des chaînes de caractères. En raison de la mise en cache/interne, l'identité peut sembler "fonctionner" parfois, mais ce n'est pas fiable selon les exécutions et les environnements ; utiliser == à la place ;
123456789
x = 256 y = 256 print(x == y) # True (same value) print(x is y) # May appear True; do not rely on identity here s1 = "hello" s2 = "he" + "llo" print(s1 == s2) # True print(s1 is s2) # Implementation detail; avoid using is here
copy
  • Pour les booléens, privilégier les vérifications de véracité.
123
flag = True if flag: # clearer than: if flag is True print("flag is True")
copy

1. Compléter les espaces vides avec is ou == :

2. Quelle est la manière correcte de tester l'absence de « valeur » ?

3. Quelle affirmation est recommandée ?

question-icon

Compléter les espaces vides avec is ou == :

Use to check if two variables point to the same object.
Use
to check if two values have the same contents.

Click or drag`n`drop items and fill in the blanks

question mark

Quelle est la manière correcte de tester l'absence de « valeur » ?

Select the correct answer

question mark

Quelle affirmation est recommandée ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

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

Suggested prompts:

Can you explain more about why using `is` with numbers or strings is unreliable?

When should I use `==` instead of `is` in my code?

Can you give more examples of identity vs equality in Python?

Awesome!

Completion rate improved to 5

bookIdentité vs Égalité

Glissez pour afficher le menu

Ce chapitre distingue l'identité de l'égalité. L'identité détermine si deux variables font référence au même objet en mémoire ; l'égalité détermine si deux objets ont la même valeur. Comprendre cette distinction est essentiel pour écrire des conditionnelles, des validations et une logique de traitement des données correctes.

Qu'est-ce que is ?

  • is vérifie l'identité de l'objet — si deux variables pointent vers le même objet en mémoire ;
  • == vérifie l'égalité des valeurs — si deux objets ont le même contenu.
1234567
a = [1, 2] b = [1, 2] c = a print(a == b) # True - same contents print(a is b) # False - different list objects print(a is c) # True - c refers to the very same list as a
copy

Quand utiliser is et quand l'éviter

  • Utiliser is lors de la comparaison avec des singletons tels que None ;
123
value = None if value is None: print("No value")
copy
  • is not est le test d'identité négatif ;
123
var = 64 if var is not None: print("var has a value: ", var)
copy
  • Éviter d'utiliser is pour vérifier l'égalité entre des nombres ou des chaînes de caractères. En raison de la mise en cache/interne, l'identité peut sembler "fonctionner" parfois, mais ce n'est pas fiable selon les exécutions et les environnements ; utiliser == à la place ;
123456789
x = 256 y = 256 print(x == y) # True (same value) print(x is y) # May appear True; do not rely on identity here s1 = "hello" s2 = "he" + "llo" print(s1 == s2) # True print(s1 is s2) # Implementation detail; avoid using is here
copy
  • Pour les booléens, privilégier les vérifications de véracité.
123
flag = True if flag: # clearer than: if flag is True print("flag is True")
copy

1. Compléter les espaces vides avec is ou == :

2. Quelle est la manière correcte de tester l'absence de « valeur » ?

3. Quelle affirmation est recommandée ?

question-icon

Compléter les espaces vides avec is ou == :

Use to check if two variables point to the same object.
Use
to check if two values have the same contents.

Click or drag`n`drop items and fill in the blanks

question mark

Quelle est la manière correcte de tester l'absence de « valeur » ?

Select the correct answer

question mark

Quelle affirmation est recommandée ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
some-alt