In Python gibt es die Operatoren "oder", "und" und "nicht", aber diese werden als Boolesche Operatoren bezeichnet.
Jedes Objekt kann in Python als Wahrheitswert (wahr / falsch-Wert) dargestellt werden, und die folgenden integrierten Funktionen werden als falsch beurteilt.
Wenn die Klasse des Objekts die Methode "bool ()" definiert und "False" zurückgibt oder wenn sie die Methode "len ()" definiert und 0 zurückgibt, wird sie als falsch beurteilt. ..
Die eingebaute Funktion bool ()
wird zur Beurteilung verwendet.
>>> bool(None)
False
>>> bool(False)
False
>>> bool(0)
False
>>> bool("")
False
>>> bool([])
False
#Alles, was nicht falsch ist, ist wahr
>>> bool("0")
True
>>> bool([False])
True
Es wird verwendet, wenn Sie feststellen möchten, ob entweder "A" oder "B" wahr ist. Natürlich kann es außerhalb der Steuerungssyntax verwendet werden, z. B. als if-Anweisung.
>>> x = True
>>> y = False
>>> x or y
True
>>> bool(x or y)
True
Übrigens geben "oder" und "und", die später beschrieben werden, keinen booleschen Wert zurück, sondern werten den Wert des verglichenen Objekts von links aus und geben ihn so zurück, wie er ist, wenn der Rückgabewert festgelegt ist.
Im obigen Beispiel (x oder y)
--Wenn x wahr ist, wird y nicht ausgewertet und x wird zurückgegeben (auch wenn y wahr ist, wird x zurückgegeben)
Es klappt
>>> a = 0 #Definieren Sie einen Wert, dessen Wahrheitswert True ist
>>> b = 1 #Definieren Sie einen Wert, dessen Wahrheitswert Falsch ist
>>> a or b #Da b True ist, wird b zurückgegeben
1
>>> b or a #Selbst wenn es umgekehrt ist, ist b True, also wird b zurückgegeben.
1
>>> b = "" #Weisen Sie einen anderen Wert zu als den, dessen Wahrheitswert Falsch ist
a or b #b wird zurückgegeben, weil a False ist
""
Übrigens, auch wenn zwei oder mehr oder
s verbunden sind, funktionieren sie auf die gleiche Weise und werden von links ausgewertet.
>>> a = 0
>>> b = 1
>>> c = 2
>>> a or b or c
1
Es ist leicht, sich einen Operator vorzustellen, der einen Wahrheitswert zurückgibt, aber nicht vergessen.
und
können verwendet werden, wenn Sie feststellen möchten, ob sowohl A als auch B wahr sind.
Für und
ist der Rückgabewert das auszuwertende Objekt, sodass kein Boolescher Wert zurückgegeben wird.
>>> x = 0
>>> y = 1
>>> x and y
0
Wie bei "oder" wird das Objekt zurückgegeben, wenn das Ergebnis bestätigt wird.
Es klappt.
Bitte beachten Sie, dass wir nicht streng überprüft haben, ob alle Vergleiche wahr sind, da falsche Objekte die Ergebnisse zurückgeben, sobald sie gefunden werden.
Zwei oder mehr können für "und" verbunden werden.
>>> a = 0
>>> b = 1
>>> c = 2
>>> a and b and c #Gibt a zurück, weil a falsch ist
0
>>> d = 10
>>> d and b and c #Wenn d wahr ist, b wahr ist und c bestätigt wird, wird das Ergebnis bestätigt, so dass c zurückgegeben wird.
2
not
ist ein Operator, der die Negation darstellt und danach nur einen Wert annimmt, z. B. not False
, und diesen Wert negiert.
Im Gegensatz zu den beiden oben beschriebenen Operatoren wird ein boolescher Wert zurückgegeben.
>>> x = 0
>>> y = 1
>>> not x #x ist ein Wert, der zu False wird. Wenn er nicht hinzugefügt wird, wird er zu True.
True
>>> not y #y ist ein Wert, der True ist. Wenn er nicht hinzugefügt wird, wird er zu False.
False
not
hat eine höhere Priorität als oder
und und
und wird zuerst ausgewertet.
>>> a = 0
>>> b = 1
>>> c = 2
>>> not a and b and c #Falsch a wird verweigert und wird wahr und gibt das zuletzt ausgewertete Objekt c zurück, da alles wahr ist
c
>>> d = 10
>>> d and not b and c #Alles war wahr, aber b wird geleugnet und falsch, also wird b zurückgegeben
False
Obwohl es einfach ist, ist es leicht, den Rückgabewert zu vergessen, deshalb möchte ich ihn bewusst verwenden.
Recommended Posts