Heim > Backend-Entwicklung > Python-Tutorial > Garantiert Python, dass „False' und „True' immer gleich 0 und 1 sind?

Garantiert Python, dass „False' und „True' immer gleich 0 und 1 sind?

DDD
Freigeben: 2024-12-13 20:25:11
Original
927 Leute haben es durchsucht

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

Sind False und True in Python garantiert gleich 0 und 1?

In Python ist es üblich, die Booleschen Werte False und True den Ganzzahlen 0 zuzuordnen und 1. Wird diese Übereinstimmung jedoch durch die Sprache garantiert, oder handelt es sich lediglich um ein Implementierungsdetail, das sich in zukünftigen Versionen ändern könnte?

Implementierungsdetails vs. Sprachgarantien

In Python 2.x werden True und False nicht explizit als Schlüsselwörter definiert und ihre Werte können neu zugewiesen werden. Aber auch in diesem Fall liefern Vergleiche immer noch die korrekten True- und False-Werte.

In Python 3.x sind True und False offiziell als Schlüsselwörter definiert. Dies garantiert, dass ihre Werte immer gleich 1 bzw. 0 sind.

Vererbungsbeziehung

Der Äquivalenz zwischen booleschen Werten und ganzen Zahlen in Python liegt die Tatsache zugrunde, dass bool von int erbt. Diese Vererbungsbeziehung stellt sicher, dass Boolesche Werte in Kontexten verwendet werden können, die Ganzzahlen erwarten, wie etwa bei der Listenindizierung.

Offizielle Dokumentation

In der Python-Dokumentation heißt es ausdrücklich, dass Boolesche Werte von Ganzzahlen erben:

object
       |
     int
       |
     bool
Nach dem Login kopieren

Die Dokumentation stellt außerdem klar, dass sich Boolesche Werte in fast allen Kontexten wie die Ganzzahlen 0 und 1 verhalten, außer bei der Konvertierung in Zeichenfolgen.

Schlussfolgerung

Basierend auf der Dokumentation und der aktuellen Implementierung von Python kann man mit Sicherheit davon ausgehen, dass False und True immer gleich 0 bzw. 1 sind. Wenn Python 4 jedoch wesentliche Änderungen an der Hierarchie der Ganzzahlvererbung einführt, ist diese Annahme möglicherweise nicht mehr gültig.

Das obige ist der detaillierte Inhalt vonGarantiert Python, dass „False' und „True' immer gleich 0 und 1 sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage