Читать книгу Python One-Liners - Christian Mayer - Страница 19
Die Rangordnung der booleschen Operatoren
ОглавлениеUm die boolesche Logik wirklich zu verstehen, muss man die Reihenfolge beachten, in der die booleschen Operatoren angewandt werden. Nehmen Sie z. B. die natürlichsprachige Aussage »es regnet und es ist kalt oder windig«. Wir können sie auf zweierlei Weise interpretieren:
»(es regnet und es ist kalt) oder windig«In diesem Fall wäre die Aussage True, falls es windig ist – selbst wenn es nicht regnet.
und »es regnet und (es ist kalt oder windig)«In diesem Fall dagegen wäre die Aussage False, falls es nicht regnet – selbst wenn es kalt oder windig ist.
Die Reihenfolge der booleschen Operatoren ist wichtig. Die erste Interpretation dieser Aussage wäre korrekt, weil der and-Operator Vorrang vor dem or-Operator hat. Schauen wir uns den Codeausschnitt in Listing 1–4 an.
## 1. Boolesche Operationen
x, y = True, False
print(x and not y)
# True
print(not x and y or x)
# True
## 2. If-Bedingung wird zu False ausgewertet
if None or 0 or 0.0 or '' or [] or {} or set():
print("Dead Code") # Wird nicht erreicht