Utiliser les Opérateurs d'Appartenance et d'Identité
Dans cette dernière étape, nous allons aborder les opérateurs d'appartenance (in, not in) et les opérateurs d'identité (is, is not). Les opérateurs d'appartenance vérifient si une valeur est présente dans une séquence, tandis que les opérateurs d'identité vérifient si deux variables font référence au tout même objet en mémoire.
Continuez à travailler avec le fichier operators.py.
Tout d'abord, ajoutons des exemples d'opérateurs d'appartenance. Ils sont couramment utilisés avec des séquences telles que les listes, les tuples et les chaînes de caractères (strings).
Ajoutez le code suivant à la fin de votre fichier operators.py :
## Membership Operators
print("\n--- Membership Operators ---")
my_list = [1, 3, 5, 7]
print(f'3 in {my_list} is {3 in my_list}')
print(f'4 not in {my_list} is {4 not in my_list}')
greeting = "hello world"
print(f'"world" in "{greeting}" is {"world" in greeting}')
Enregistrez le fichier et exécutez-le :
python ~/project/operators.py
La sortie pour les opérateurs d'appartenance sera :
... (output from previous steps) ...
--- Membership Operators ---
3 in [1, 3, 5, 7] is True
4 not in [1, 3, 5, 7] is True
"world" in "hello world" is True
Maintenant, explorons les opérateurs d'identité. Il est important de comprendre la différence entre is (identité) et == (égalité). == vérifie si les valeurs de deux objets sont identiques, tandis que is vérifie s'ils sont le même objet (c'est-à-dire s'ils ont la même adresse mémoire).
Ajoutez le code suivant à votre fichier operators.py :
## Identity Operators
print("\n--- Identity Operators ---")
## For small integers, Python often reuses the same object.
x = 256
y = 256
print(f'x is y (for 256): {x is y}') ## Ceci est souvent True
## For larger integers, Python may create separate objects.
a = 257
b = 257
print(f'a is b (for 257): {a is b}') ## Ceci est souvent False
## For mutable objects like lists, they are different objects even if their content is the same.
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(f'list1 == list2: {list1 == list2}') ## Vérifie l'égalité du contenu (True)
print(f'list1 is list2: {list1 is list2}') ## Vérifie s'il s'agit du même objet (False)
print(f'list1 is not list2: {list1 is not list2}') ## Vérifie s'il s'agit d'objets différents (True)
Enregistrez le fichier et exécutez-le une dernière fois :
python ~/project/operators.py
La sortie démontre la différence entre l'égalité et l'identité :
... (output from previous examples) ...
--- Identity Operators ---
x is y (for 256): True
a is b (for 257): True
list1 == list2: True
list1 is list2: False
list1 is not list2: True
Vous avez réussi à utiliser les opérateurs d'appartenance et d'identité, complétant ainsi votre exploration des principaux types d'opérateurs de Python.