Mögliche Duplizieren:
Is False == 0 and True == 1 in Python an implementation detail or is it guaranteed by the language?Ist garantiert, dass False "ist 0" und True "ist 1"?
bemerkte ich heute, dass die folgenden Arbeiten mit Python 2.6 (CPython) ...
>>> a=[100,200]
>>> a[True]
200
>>> a[False]
100
Ist das tragbare für andere Python-Implementierungen (zB ist True
/False
garantiert von int zu erben? Ist True
g Garantiert, um 1 anstelle einer anderen von Null verschiedenen Zahl zu bewerten?) Gibt es eine Situation, wo dies nützlich wäre? Es scheint, wie es als eine andere Form eines ternären Operator verwendet werden könnte, aber ich weiß nicht, wie viel es gewonnen ...
(Keine Antwort, aber Sie können es interessant finden: In Python 2.6 und vor True und False sind nur Variablen so ... 'True, False =" Hallo "," Welt "' ... aber sie haben richtig * reserved * status in Python 3.x) –
Soweit ich weiß, sind True und False Labels für 1 und 0. 1 == True und 0 == False. Daher würde es die 0. und 1. Elemente in der Liste –
@ gwynhowell zurückgeben: nein, "True" und "False" sind Objekte in ihrem eigenen Recht, vom Typ 'bool'. –