Python wird sein Bestes geben, um die "Wahrheit" eines Ausdrucks zu bewerten, wenn ein boolescher Wert von diesem Ausdruck benötigt wird.
Die Regel für Zeichenfolgen ist, dass eine leere Zeichenfolge als False
, eine nicht leere Zeichenfolge als True
gilt. Dieselbe Regel gilt für andere Container. Daher wird ein leeres Wörterbuch oder eine Liste als False
betrachtet, ein Wörterbuch oder eine Liste mit einem oder mehreren Einträgen wird als True
betrachtet.
Das Objekt None
wird ebenfalls als falsch betrachtet.
Ein numerischer Wert von 0
wird als falsch betrachtet (obwohl ein Zeichenfolgenwert von '0'
als wahr betrachtet wird).
Alle anderen Ausdrücke werden als True
betrachtet.
Details (einschließlich wie benutzerdefinierte Typen Wahrheit angeben können) finden Sie hier: Ссылка .
In Python ist eine beliebige Zeichenfolge außer einer leeren Zeichenfolge standardmäßig True
dh
%Vor% Was hier passiert, ist Pythons Ergänzung von implizit bool()
-Konstruktor nach dem if
, weil alles, gefolgt von if
, aufgelöst werden sollte, um boolean zu sein. In diesem Zusammenhang entspricht Ihr Code
Laut Python akzeptiert bool(x)
Konstruktor alles und entscheidet die Wahrheit basierend auf den folgenden Fällen
0
ist False
alles andere ist True
0.0
False
alles andere ist True '[]
ist False
alles andere ist True
{}
ist False
alles andere ist True
()
ist False
alles andere ist True
“"
ist False
alles andere ist True
. Beachten Sie, dass bool(“False”)
zu True
zurückkehrt.
Hier ist das Protokoll für die Fälle, die ich oben aufgeführt habe
%Vor%Tags und Links python