Wie man prüft, ob ein String in Python nicht leer ist

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie in Python mithilfe verschiedener Methoden prüfen können, ob ein String nicht leer ist. Das Lab führt Sie durch den Prozess der Erstellung einer Python-Datei namens string_check.py und der Verwendung von boolescher Auswertung (if string1:) sowie der len()-Funktion (if len(string1) > 0:), um festzustellen, ob ein String mindestens ein Zeichen enthält.

Sie werden das Skript ausführen, um die Ausgabe zu beobachten, was zeigt, wie Python mit beiden Ansätzen nicht-leere und leere Strings identifiziert. Das Lab bietet praktische Beispiele und schrittweise Anweisungen zur Implementierung dieser Techniken.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559579{{"Wie man prüft, ob ein String in Python nicht leer ist"}} python/booleans -.-> lab-559579{{"Wie man prüft, ob ein String in Python nicht leer ist"}} python/conditional_statements -.-> lab-559579{{"Wie man prüft, ob ein String in Python nicht leer ist"}} python/build_in_functions -.-> lab-559579{{"Wie man prüft, ob ein String in Python nicht leer ist"}} end

Untersuchen von nicht-leeren Strings

In diesem Schritt werden wir untersuchen, wie man in Python feststellt, ob ein String nicht leer ist. Ein nicht-leerer String ist einfach ein String, der mindestens ein Zeichen enthält. Es gibt mehrere Möglichkeiten, diese Bedingung zu prüfen, und wir werden die gängigsten und effizientesten Methoden behandeln.

Zunächst erstellen wir eine Python-Datei namens string_check.py in Ihrem ~/project-Verzeichnis mit dem VS Code-Editor.

## ~/project/string_check.py
string1 = "Hello"
string2 = ""

if string1:
    print("string1 is non-empty")
else:
    print("string1 is empty")

if string2:
    print("string2 is non-empty")
else:
    print("string2 is empty")

In diesem Code:

  • Wir definieren zwei Strings: string1, der "Hello" enthält, und string2, der ein leerer String ist.
  • Wir verwenden die Anweisungen if string1: und if string2:, um zu prüfen, ob die Strings nicht leer sind. In Python wird ein leerer String in einem booleschen Kontext als False ausgewertet, während ein nicht-leerer String als True ausgewertet wird.

Jetzt führen wir das Skript mit dem python-Befehl aus:

python ~/project/string_check.py

Sie sollten die folgende Ausgabe sehen:

string1 is non-empty
string2 is empty

Dies zeigt, dass Python string1 korrekt als nicht-leer und string2 als leer identifiziert.

Eine andere Möglichkeit, zu prüfen, ob ein String nicht leer ist, ist die Verwendung der len()-Funktion. Die len()-Funktion gibt die Anzahl der Zeichen in einem String zurück. Wenn die Länge größer als 0 ist, ist der String nicht leer.

Ändern wir die string_check.py-Datei, um die len()-Funktion zu verwenden:

## ~/project/string_check.py
string1 = "Hello"
string2 = ""

if len(string1) > 0:
    print("string1 is non-empty")
else:
    print("string1 is empty")

if len(string2) > 0:
    print("string2 is non-empty")
else:
    print("string2 is empty")

Führen Sie das Skript erneut aus:

python ~/project/string_check.py

Die Ausgabe wird dieselbe wie zuvor sein:

string1 is non-empty
string2 is empty

Beide Methoden sind gültig, um zu prüfen, ob ein String nicht leer ist. Die erste Methode (direkte Verwendung des Strings in einem booleschen Kontext) wird im Allgemeinen als mehr "Pythonic" und lesbarer angesehen.

Prüfen, ob len() > 0

In diesem Schritt werden wir uns speziell auf die Verwendung der len()-Funktion konzentrieren, um festzustellen, ob ein String nicht leer ist. Wie wir im vorherigen Schritt gesehen haben, gibt len() die Anzahl der Zeichen in einem String zurück. Wir können diesen Wert nutzen, um explizit zu prüfen, ob ein String Zeichen enthält.

Ändern wir unsere string_check.py-Datei im ~/project-Verzeichnis, um dies weiter zu untersuchen. Wir werden weitere Beispiele hinzufügen und die Bedingung len() > 0 deutlicher anwenden.

## ~/project/string_check.py
string1 = "Python"
string2 = ""
string3 = " "  ## A string containing a single space

print("String 1:", string1)
print("Length of String 1:", len(string1))

print("String 2:", string2)
print("Length of String 2:", len(string2))

print("String 3:", string3)
print("Length of String 3:", len(string3))


if len(string1) > 0:
    print("string1 is non-empty (len() > 0)")
else:
    print("string1 is empty (len() > 0)")

if len(string2) > 0:
    print("string2 is non-empty (len() > 0)")
else:
    print("string2 is empty (len() > 0)")

if len(string3) > 0:
    print("string3 is non-empty (len() > 0)")
else:
    print("string3 is empty (len() > 0)")

In diesem Code:

  • Wir haben string3 hinzugefügt, der ein einzelnes Leerzeichen enthält. Dies ist wichtig, denn ein String, der nur Leerzeichen enthält, wird von Python immer noch als nicht leer betrachtet, wenn man ihn direkt als booleschen Wert auswertet (wie wir es im vorherigen Schritt getan haben), und seine Länge ist größer als 0.
  • Wir geben die Länge jedes Strings mit len() aus.
  • Wir verwenden die Bedingung if len(string) > 0:, um explizit zu prüfen, ob die Länge des Strings größer als 0 ist.

Jetzt führen wir das Skript aus:

python ~/project/string_check.py

Sie sollten die folgende Ausgabe sehen:

String 1: Python
Length of String 1: 6
String 2:
Length of String 2: 0
String 3:
Length of String 3: 1
string1 is non-empty (len() > 0)
string2 is empty (len() > 0)
string3 is non-empty (len() > 0)

Wie Sie sehen können, gibt len(string3) 1 zurück, weil der String ein Leerzeichen enthält. Dies zeigt, dass len() > 0 genau widerspiegelt, ob ein String Zeichen enthält, einschließlich Leerzeichen.

Diese Methode ist nützlich, wenn Sie speziell die Länge des Strings wissen müssen und Aktionen basierend auf dieser Länge ausführen möchten.

Verwendung der booleschen Auswertung

In diesem Schritt werden wir uns genauer damit befassen, wie Python Strings in einem booleschen Kontext auswertet. Wie bereits erwähnt, behandelt Python leere Strings als False und nicht-leere Strings als True. Dieses Verhalten kann direkt in if-Anweisungen und anderen booleschen Ausdrücken genutzt werden, wodurch Ihr Code kompakter und lesbarer wird.

Lassen Sie uns die string_check.py-Datei in Ihrem ~/project-Verzeichnis erneut betrachten und modifizieren, um uns auf diese boolesche Auswertung zu konzentrieren. Wir werden weitere Beispiele hinzufügen, um verschiedene Szenarien zu veranschaulichen.

## ~/project/string_check.py
string1 = "Python"
string2 = ""
string3 = "  "  ## A string containing two spaces
string4 = None  ## A None object

print("String 1:", string1)
print("String 2:", string2)
print("String 3:", string3)
print("String 4:", string4)

if string1:
    print("string1 is considered True")
else:
    print("string1 is considered False")

if string2:
    print("string2 is considered True")
else:
    print("string2 is considered False")

if string3:
    print("string3 is considered True")
else:
    print("string3 is considered False")

if string4:
    print("string4 is considered True")
else:
    print("string4 is considered False")

In diesem Code:

  • Wir haben string4 hinzugefügt, dem der Wert None zugewiesen ist. None ist ein spezieller Wert in Python, der die Abwesenheit eines Werts darstellt. Es ist wichtig zu beachten, dass None auch in einem booleschen Kontext als False ausgewertet wird.
  • Wir verwenden die Strings und None direkt in den if-Anweisungen, ohne ihre Längen explizit mit 0 zu vergleichen.

Jetzt führen Sie das Skript aus:

python ~/project/string_check.py

Sie sollten die folgende Ausgabe sehen:

String 1: Python
String 2:
String 3:
String 4: None
string1 is considered True
string2 is considered False
string3 is considered True
string4 is considered False

Diese Ausgabe zeigt Folgendes:

  • string1 ("Python") wird als True angesehen, weil es ein nicht-leerer String ist.
  • string2 ("") wird als False angesehen, weil es ein leerer String ist.
  • string3 (" ") wird als True angesehen, weil es ein nicht-leerer String ist (er enthält Leerzeichen).
  • string4 (None) wird als False angesehen, weil None immer als False ausgewertet wird.

Die direkte Verwendung der booleschen Auswertung ist eine gängige und effiziente Methode, um in Python auf leere Strings und None-Werte zu prüfen. Sie macht Ihren Code lesbarer und leichter verständlich. Beachten Sie jedoch, dass Strings, die nur aus Leerzeichen bestehen, mit dieser Methode als True angesehen werden. Wenn Sie speziell auf Strings ohne Zeichen (einschließlich Leerzeichen) prüfen müssen, ist die Verwendung von len(string.strip()) > 0 möglicherweise geeigneter.

Zusammenfassung

In diesem Lab haben wir untersucht, wie man in Python feststellt, ob ein String nicht leer ist. Wir haben eine string_check.py-Datei erstellt und zwei Strings definiert, einen nicht-leeren und einen leeren. Anschließend haben wir die if string:-Anweisung verwendet, indem wir die boolesche Auswertung von Python nutzten, bei der ein leerer String False und ein nicht-leerer String True ist, um zu prüfen, ob die Strings nicht leer sind.

Wir haben auch eine alternative Methode mit der len()-Funktion gezeigt. Indem wir prüfen, ob len(string) > 0, können wir feststellen, ob ein String mindestens ein Zeichen enthält und somit nicht leer ist. Beide Methoden erzielen dasselbe Ergebnis, nämlich die Identifizierung von nicht-leeren Strings.