/ / Python - Unterschied zwischen einer leeren Zeichenfolge und einer Zeichenfolge aus Leerzeichen - Python, Zeichenfolge

Python - Unterschied zwischen einer leeren Zeichenfolge und einer Zeichenfolge aus Leerzeichen - Python, Zeichenfolge

Nach meinem Amateurwissen ist ein leerer String ein String mit der Länge Null. Das muss also von einer Zeichenfolge abweichen, die nur Leerzeichen ist? Obwohl das Drucken beide gleich aussieht.

Ich lese hier (Die eleganteste Methode, um zu überprüfen, ob die Zeichenfolge in Python leer ist?) wie man eine leere Zeichenfolge erkennt, aber wenn dieses Codebeispiel auf einer leeren Zeichenfolge ausgeführt wird, schlägt dies fehl:

print("fish:", fish)

if not fish:       #if fish is empty string
fish = weight
print("new fish:", fish)
else:
print("fish is not an empty string")

Ein Ausdruck von was fish ist:

fish:

Fehlt mir hier etwas sehr einfaches? Oder ist fish tatsächlich eine Zeichenfolge von Leerzeichen und deshalb "scheitert" die Suche mit leeren Zeichenfolgen?

Vielen Dank.

Antworten:

1 für die Antwort № 1

Versuchen:

print("fish:", repr(fish))

Dadurch wird die Ausgabe in Anführungszeichen gesetzt und Escape-Zeichen für nicht druckbare Zeichen verwendet, damit Sie sehen können, was sich wirklich darin befindet fish: "", es war nicht wirklich leer. Sie können auch nur drucken len(fish), die dir die Länge geben würde; Die Definition von "Fälschung" für Sequenzen ist immerhin "Länge von 0".