Wahrheitswert eines Strings in Python

8
%Vor%

boolean muss entweder True oder False sein.

warum dann

%Vor%

Ausgabe: ja

Ich habe nicht verstanden, warum ja gedruckt wird, da "poi" nie True oder False ist.

    
navyad 28.08.2013, 15:11
quelle

3 Antworten

16

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: Ссылка .

    
Larry Lustig 28.08.2013, 15:14
quelle
8

In Python ist eine beliebige Zeichenfolge außer einer leeren Zeichenfolge standardmäßig True

dh

%Vor%     
Cameron Sparr 28.08.2013 15:12
quelle
5

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

%Vor%

Laut Python akzeptiert bool(x) Konstruktor alles und entscheidet die Wahrheit basierend auf den folgenden Fällen

  • Wenn x eine Ganzzahl ist, Nur 0 ist False alles andere ist True
  • Wenn x float ist, ist nur 0.0 False alles andere ist True '
  • Wenn x eine Liste ist, Nur [] ist False alles andere ist True
  • Wenn x gesetzt ist / dict, Nur {} ist False alles andere ist True
  • Wenn x ein Tupel ist, Nur () ist False alles andere ist True
  • Wenn x ein String ist, ist nur “" 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%     
nehemiah 03.03.2015 07:01
quelle

Tags und Links