Python (école d'ingénieur) · Chapitre 1 · Exercice
Interning des petits entiers
Bases de Python, variables et types
Énoncé
Expliquer pourquoi le code suivant produit un résultat différent selon la valeur de l'entier.
a = 256
b = 256
print(a is b) # True
x = 257
y = 257
print(x is y) # False (dans l'interpréteur standard)Corrigé
Cache des petits entiers : Python préeffectue (intern) les entiers compris entre -5 et 256. Toutes les références à ces entiers pointent vers le même objet réutilisé en mémoire. Pour les entiers hors de cette plage, Python crée de nouveaux objets distincts lors des affectations.
Conséquence pratique : Ne jamais utiliser is pour comparer des entiers ; utiliser == pour l'égalité de valeur (257 == 257 renvoie toujours True).
100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre, et 9 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.