Enthält Python tatsächlich einen Booleschen Wert? Ich weiß, dass Sie tun können:
checker = 1
if checker:
#dostuff
Aber ich bin ziemlich pedantisch und genieße es, Boolesche Werte in Java zu sehen. Zum Beispiel:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
Gibt es in Python einen Booleschen Wert? Ich kann so etwas in der Dokumentation nicht finden.
some_var = int("1234")
... diese Zeile setzt explizitsome_var
=>int
Antworten:
[Bearbeiten]
Für mehr Informationen: http://docs.python.org/library/functions.html#bool
Ihr Code funktioniert auch, da
1
erTrue
bei Bedarf in konvertiert wird . Tatsächlich hatte Python lange Zeit keinen booleschen Typ (wie im alten C), und einige Programmierer verwenden immer noch ganze Zahlen anstelle von booleschen Werten.quelle
True
undFalse
sind Verweise auf erweiterteint
Objekte mit Überschreibung__str__
und__repr__
.1 is not True
, aber1 == True
.int
Typs zu sein, wie in gezeigtisinstance(True, int)
.Die booleschen Buildins werden großgeschrieben:
True
undFalse
.Beachten Sie auch, dass Sie
checker = bool(some_decision)
als kleine Abkürzung tun können -bool
wird immer nur zurückkehrenTrue
oderFalse
.Zum späteren Nachschlagen ist es gut zu wissen, dass Klassen
__nonzero__
__len__
das Ergebnis dieser Funktionen definieren oder sein werdenTrue
oder davonFalse
abhängen, aber praktisch das boolesche Ergebnis jedes anderen ObjektsTrue
(mit Ausnahme desNone
Objekts, leerer Sequenzen und numerischer Nullen).quelle
True
... undFalse
natürlich.Andernfalls wird
None
False ausgewertet, ebenso wie die Ganzzahl0
und auch der Float0.0
(obwohl ich solche Floats nicht verwenden würde). Auch leere Listen[]
, leere Tuplets()
und leere Zeichenfolgen''
oder""
als falsch auswerten.Probieren Sie es selbst mit der Funktion
bool()
:etc..
quelle
Boolesche Typen werden in der Dokumentation definiert:
http://docs.python.org/library/stdtypes.html#boolean-values
Zitiert aus doc:
So in Java - Code entfernen Zahnspange, ändern
true
zuTrue
und Sie werden in Ordnung sein :)quelle
Ja, es gibt einen
bool
Datentyp (der vonint
nur zwei Werten erbt und diese hat:True
undFalse
).Aber auch Python hat das
boolean-able
Konzept für jedes Objekt, das beimbool([x])
Aufruf der Funktion verwendet wird.Weitere Informationen: Objekt. ungleich Null und boolescher Wert von Objekten in Python .
quelle
Im Gegensatz zu Java, wo Sie deklarieren würden,
boolean flag = True
können Sie in Python nur deklarierenmyFlag = True
Python würde dies als boolesche Variable interpretieren
quelle