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?
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.
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.
In der Python-Dokumentation heißt es ausdrücklich, dass Boolesche Werte von Ganzzahlen erben:
object | int | bool
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.
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!