Warum gibt „bool(\'False\')` in Python „True' zurück?

Mary-Kate Olsen
Freigeben: 2024-10-28 09:38:29
Original
636 Leute haben es durchsucht

Why Does `bool(

Konvertieren eines Strings in einen Booleschen Wert in Python

Das Konvertieren eines Strings in einen Booleschen Wert in Python scheint unkompliziert, kann aber zu unerwarteten Ergebnissen führen. Betrachten Sie das folgende Beispiel:

<code class="python">>>> bool("False")
True</code>
Nach dem Login kopieren

Warum gibt dieser Code True statt False zurück?

Der Schlüssel zum Verständnis dieses Verhaltens liegt in der impliziten Umwandlung von Python. Beim Konvertieren einer Zeichenfolge in einen booleschen Wert wertet Python den Inhalt der Zeichenfolge aus. Wenn die Zeichenfolge leer ist, wird sie als Falsch betrachtet, andernfalls als Wahr.

Lösung:

Um eine Zeichenfolge basierend auf ihrem erwarteten Wert korrekt in einen Booleschen Wert umzuwandeln, muss sie Es wird empfohlen, die Zeichenfolge mit der erwarteten booleschen Darstellung zu vergleichen. Zum Beispiel:

<code class="python">s == 'True'</code>
Nach dem Login kopieren

Dieser Ansatz prüft explizit, ob die Zeichenfolge mit dem erwarteten booleschen Wert übereinstimmt.

Für mehr Flexibilität beim Parsen können Sie eine Prüfung anhand einer Liste akzeptierter wahrer Werte durchführen:

<code class="python">s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']</code>
Nach dem Login kopieren

Achtung:

Die Verwendung der folgenden Konvertierung kann zu unerwarteten Ergebnissen führen:

<code class="python">bool("foo")
True
bool("")
False</code>
Nach dem Login kopieren

Leere Zeichenfolgen werden als „Falsch“ ausgewertet, alle anderen Zeichenfolgen jedoch mit „True“ auswerten. Dieses Verhalten ist nicht für Analysezwecke geeignet.

Das obige ist der detaillierte Inhalt vonWarum gibt „bool(\'False\')` in Python „True' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!