Boolesche Werte und Ausdrücke¶
In Python gibt es mehrere Möglichkeiten, boolesche Werte auszudrücken; die
boolesche Konstante False, 0, der Python-Typ None und
leere Werte (z.B. die leere Liste [] oder die leere
Zeichenkette "") werden alle als False betrachtet. Die boolesche
Konstante True und alles andere wird als True betrachtet.
<,<=,==,>,>=vergleicht Werte.
is,is not,in,not inüberprüft die Identität.
and,not,orsind logischen Operatoren, mit denen die oben genannten Überprüfungen verknüpft werden können.
>>> x = 3
>>> y = 3.0
>>> z = [3, 4, 5]
>>> x == y
True
>>> x is y
False
>>> x is not y
True
>>> x in z
True
>>> id(x)
4375911432
>>> id(y)
4367574480
>>> id(z[0])
4375911432
Wenn x und z[0] die gleiche ID im Speicher haben, bedeutet das, dass wir
an zwei Stellen auf dasselbe Objekt verweisen.
Am häufigsten werden is und is not in Verbindung mit
None verwendet:
>>> x is None
False
>>> x is not None
True
Der Python-Style-Guide in PEP 8 besagt, dass ihr Identität verwenden solltet,
um mit None zu vergleichen. Ihr solltet also niemals x ==
None verwenden, sondern stattdessen x is None eingeben.
Ihr solltet jedoch nie berechnete Fließkommazahlen miteinander vergleichen:
>>> u = 0.6 * 7
>>> v = 0.7 * 6
>>> u == v
False
>>> u
4.2
>>> v
4.199999999999999