Explorer les Types Entier et Booléen
Dans cette étape, nous allons explorer les types de données entier (int) et booléen (bool) en Python. Les entiers sont des nombres entiers, tels que 10, -5 ou 0. Les booléens représentent l'une des deux valeurs : True ou False, et sont un sous-type des entiers.
Un concept important en Python est l'immuabilité (immutability). Les types numériques sont immuables, ce qui signifie qu'une fois qu'un objet numérique est créé, sa valeur ne peut pas être modifiée. Si vous réaffectez une variable à un nouveau nombre, elle pointera vers un nouvel objet en mémoire. Nous pouvons le vérifier à l'aide de la fonction intégrée id(), qui renvoie l'adresse mémoire unique d'un objet, et de la fonction type(), qui affiche son type de données.
L'environnement de laboratoire a déjà créé un fichier pour vous. Dans l'explorateur de fichiers du WebIDE à gauche, ouvrez le fichier ~/project/number_types.py. Ajoutez-y le code suivant :
## Demonstrate immutability of integers
a = 5
print(f"Initial value of a: {a}")
print(f"Type of a: {type(a)}")
print(f"ID of a: {id(a)}")
## Reassign 'a' to a new value
a = 6
print(f"\nNew value of a: {a}")
print(f"New ID of a: {id(a)}")
## Demonstrate boolean type
print("\n--- Boolean Types ---")
is_true = True
is_false = False
print(f"Value of is_true: {is_true}, Type: {type(is_true)}")
print(f"Value of is_false: {is_false}, Type: {type(is_false)}")
## Booleans behave like integers (1 and 0) in arithmetic
print(f"\nTrue + 5: {True + 5}")
print(f"False * 3: {False * 3}")
Après avoir ajouté le code, enregistrez le fichier. Pour exécuter le script, ouvrez le terminal intégré dans le WebIDE et exécutez la commande suivante :
python ~/project/number_types.py
Vous devriez voir une sortie similaire à ce qui suit. Notez que les adresses mémoire (ID) seront différentes sur votre système.
Initial value of a: 5
Type of a: <class 'int'>
ID of a: <memory_address_1>
New value of a: 6
New ID of a: <memory_address_2>
--- Boolean Types ---
Value of is_true: True, Type: <class 'bool'>
Value of is_false: False, Type: <class 'bool'>
True + 5: 6
False * 3: 0
La sortie montre que lorsque a a été réaffecté de 5 à 6, son ID a changé, confirmant qu'un nouvel objet entier a été créé. Elle démontre également que True est traité comme 1 et False comme 0 dans les calculs.