Funktioniert die Python-support kurzschließen?
Funktioniert die Python-Unterstützung Kurzschluss in booleschen Ausdrücken?
Verwandte Themen: Seltsame Verwendung von "und" / "oder" - operator
InformationsquelleAutor Dinah | 2010-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Yep, beide
and
undor
Betreiber Kurzschluss -- siehe die docs.InformationsquelleAutor Alex Martelli
Kurzschluss Verhalten in-operator
and
,or
:Lassen Sie uns zuerst definieren eine nützliche Funktion, um festzustellen, ob etwas ausgeführt werden soll oder nicht. Eine einfache Funktion, die akzeptiert ein argument, eine Meldung ausgegeben, und gibt die Eingabe unverändert.
Kann man beobachten, die Python-Kurzschluss Verhalten von
and
,or
Operatoren in der folgenden Beispiel:Hinweis: Die folgenden Werte sind als durch den Dolmetscher bedeuten false:
Kurzschluss Verhalten bei Funktion:
any()
,all()
:Python ' s
any()
undall()
Funktionen auch support kurzschließen. Wie in den docs; Sie Werten jedes element einer Sequenz in der Reihenfolge, bis die Suche nach einem Ergebnis, das einen frühzeitigen Ausstieg in die Bewertung ein. Betrachten Sie die Beispiele unten, beide zu verstehen.Die Funktion
any()
überprüft dann, ob ein element Wahr ist. Es Stoppt die Ausführung, sobald eine Wahr ist aufgetreten, und gibt True zurück.Die Funktion
all()
prüft alle Elemente sind Wahr und Stoppt die Ausführung, sobald eine Falsche ist aufgetreten:Kurzschluss Verhalten in einer Verketteten Vergleich:
Darüber hinaus in Python
Edit:
Ein interessanter Punkt zu beachten :- Logische
und
,oder
Operatoren in Python gibt ein operand ist Wert statt einem Boolean (True
oderFalse
). Zum Beispiel:Anders als in anderen Sprachen, z.B.
&&
,||
Operatoren in C, die wieder entweder 0 oder 1 sein.Beispiele:
Ähnlich
or
operator return Links-Wert für diebool(value)
==True
sonst Recht die meisten falschen Wert (nach Kurzschluss Verhalten), Beispiele:So, wie ist das nützlich? Ein Beispiel für die Verwendung gegeben, die in Praktische Python Von Magnus Lie Hetland:
Lassen Sie uns sagen, ein Benutzer soll seinen Namen einzugeben, sondern können sich entscheiden, geben Sie nichts, in dem Fall, dass Sie möchten, verwenden Sie den Standardwert
'<unknown>'
. Man könnte eine if-Anweisung, aber man könnte auch den Zustand der Dinge sehr prägnant auf den Punkt:In anderen Worten, wenn der return-Wert von raw_input wahr ist (kein leerer string) zugewiesen, name (ändert sich nichts); ansonsten werden die Standard -
'<unknown>'
zugeordnet istname
.InformationsquelleAutor Grijesh Chauhan
Ja. Versuchen Sie die folgenden in Ihrem python-interpreter:
und
oder
InformationsquelleAutor Caprooja