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
,or
sind 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