Maison > développement back-end > Tutoriel Python > Python garantit-il que « False » et « True » sont toujours égaux à 0 et 1 ?

Python garantit-il que « False » et « True » sont toujours égaux à 0 et 1 ?

DDD
Libérer: 2024-12-13 20:25:11
original
927 Les gens l'ont consulté

Does Python Guarantee that `False` and `True` Always Equal 0 and 1?

Faux et Vrai sont-ils garantis égaux à 0 et 1 en Python ?

En Python, il est courant d'associer les valeurs booléennes Faux et Vrai aux entiers 0 et 1. Cependant, cette correspondance est-elle garantie par la langue, ou s'agit-il simplement d'un détail d'implémentation qui pourrait changer à l'avenir versions ?

Détails d'implémentation par rapport aux garanties linguistiques

Dans Python 2.x, True et False ne sont pas explicitement définis comme des mots-clés et leurs valeurs peuvent être réaffectées. Cependant, même dans ce cas, les comparaisons renvoient toujours les valeurs vraies et fausses correctes.

Dans Python 3.x, True et False sont officiellement définis comme des mots-clés. Cela garantit que leurs valeurs seront toujours égales à 1 et 0, respectivement.

Relation d'héritage

À la base de l'équivalence entre les booléens et les entiers en Python se trouve le fait que bool hérite de int. Cette relation d'héritage garantit que les booléens peuvent être utilisés dans des contextes attendant des entiers, tels que l'indexation de listes.

Documentation officielle

La documentation Python indique explicitement que les booléens héritent d'entiers :

object
       |
     int
       |
     bool
Copier après la connexion

La documentation précise également que les booléens se comportent comme des entiers 0 et 1 dans presque tous les contextes, sauf lorsqu'ils sont convertis en chaînes.

Conclusion

Sur la base de la documentation et de l'implémentation actuelle de Python, il est prudent de supposer que False et True seront toujours égaux à 0 et 1, respectivement. Cependant, si Python 4 introduit des changements significatifs dans la hiérarchie d'héritage des entiers, cette hypothèse pourrait ne plus être valable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal