Was ist Truthy und Falsy in Python? Wie unterscheidet es sich von Wahr und Falsch?

Ich habe gerade erfahren, dass es Truthy und Falsy Werte in Python gibt, die sich von den normalen True und False ?

Kann jemand bitte erklären, welche truthy und falsy Werte sind?

Wo soll ich sie verwenden?

Was ist der Unterschied zwischen truthy und True Werten und False und False Werten?

Wie in den Kommentaren beschrieben, bezieht es sich nur auf Werte, die zu Wahr oder Falsch ausgewertet werden.

Zum Beispiel, um zu sehen, ob eine Liste nicht leer ist, anstatt wie folgt zu prüfen:

 if len(my_list) != 0: print "Not empty!" 

Sie können dies einfach tun:

 if my_list: print "Not empty!" 

Dies liegt daran, dass einige Werte, z. B. leere Listen, als falsch betrachtet werden, wenn sie für einen booleschen Wert ausgewertet werden. Nicht leere Listen sind True.

Ähnlich für die Ganzzahl 0, die leere Zeichenfolge “” usw. für False und ganze Zahlen ungleich 0, nicht leere Zeichenfolgen usw. für True.

Die Idee von Begriffen wie “truthy” und “falsy” bezieht sich einfach auf jene Werte, die in Fällen wie den oben beschriebenen als wahr betrachtet werden, und solche, die als falsch gelten.

Beispielsweise wird eine leere Liste ( [] ) als “Falsy” und eine nicht leere Liste (beispielsweise [1] ) als “truthy” betrachtet.

Siehe auch diesen Abschnitt der Dokumentation .

Alle Werte gelten als “truthy” mit Ausnahme der folgenden, die “falsy” sind:

  • None
  • False
  • 0
  • 0.0
  • 0j
  • [] – eine leere list
  • {} – ein leeres dict
  • () – ein leeres tuple
  • '' – eine leere str
  • b'' – eine leere bytes
  • set() – ein leerer set
  • Objekte für die
    • obj.__bool__() gibt False
    • obj.__len__() gibt 0

Ein “truthy” -Wert erfüllt die Prüfung, die von if- oder while statementen durchgeführt wird. Wir verwenden “truthy” und “falsy”, um von den bool Werten True und False .