Retour aux quiz
Débutant
Opérateurs logiques and et or
Combien d'itérations cette boucle effectue-t-elle ?
quiz.py
1
a = 2562
b = 2563
print(a is b)4
5
a = 2576
b = 2577
print(a is b)Réponses possibles
Atrue puis true
Bfalse puis false
Ctrue puis false
Dfalse puis true
Explication
En Python, les petits entiers (-5 à 256 inclus) sont mis en cache (pour des raisons de performances). Donc a et b sont le même objet quand ils valent 256, mais plus quand ils valent 257. Ça fonctionne aussi avec -5 (même objet) et -6 (différents objets). À noter que ce comportement peut dépendre de votre implémentation de Python si vous n'êtes pas sur CPython par exemple.