Heeft Python zoiets als een lege string variabele waar je kunt doen:
if myString == string.empty:
Hoe dan ook, wat's de meest elegante manier om te controleren op lege string waarden? Ik vind harde codering ""
elke keer voor het controleren van een lege string niet zo goed.
Lege strings zijn "falsy" wat betekent dat ze als onwaar worden beschouwd in een Booleaanse context, dus je kunt dit gewoon doen:
if not myString:
Dit is de beste manier als je weet dat je variabele een string is. Als je variabele ook een ander type kan zijn, dan moet je myString == ""
gebruiken. Zie de documentatie over Truth Value Testing voor andere waarden die onwaar zijn in Booleaanse contexten.
Uit PEP 8, in de "Programmeer Aanbevelingen" sectie:
Voor sequenties, (strings, lijsten, tuples), gebruik het feit dat lege sequenties onwaar zijn.
Dus je zou moeten gebruiken:
if not some_string:
of:
if some_string:
Ter verduidelijking, sequenties worden gewaardeerd op False
of True
in een Booleaanse context als ze leeg zijn of niet. Ze zijn niet gelijk aan Valse
of True
.
De meest elegante manier zou waarschijnlijk zijn om gewoon te controleren of het waar of vals is, bijv:
if not my_string:
Maar misschien wil je de witruimte weglaten omdat:
>>> bool("")
False
>>> bool(" ")
True
>>> bool(" ".strip())
False
Je zou hier waarschijnlijk iets explicieter in moeten zijn, tenzij je zeker weet dat deze string een of andere validatie heeft doorstaan en een string is die op deze manier getest kan worden.