Viac na
Ako skontrolovať, či je reťazec prázdny?
Má Python niečo ako prázdnu reťazcovú premennú, kde môžete urobiť:
if myString == string.empty:
Bez ohľadu na to, aký je najelegantnejší spôsob kontroly prázdnych reťazcov? Zdá sa mi, že tvrdé kódovanie ""
zakaždým pre kontrolu prázdneho reťazca nie je až také dobré.
1271
3
Prázdne reťazce sú "falsy", čo znamená, že sú považované za nepravdivé v boolovskom kontexte, takže to môžete jednoducho urobiť:
Tento spôsob je vhodnejší, ak viete, že vaša premenná je reťazec. Ak by vaša premenná mohla byť aj iného typu, potom by ste mali použiť
myString == ""
. Ďalšie hodnoty, ktoré sú nepravdivé v boolovskom kontexte, nájdete v dokumentácii Testovanie pravdivostných hodnôt.Z PEP 8, v časti "Odporúčania pre programovanie":
Pre postupnosti (reťazce, zoznamy, kôpky) použite skutočnosť, že prázdne postupnosti sú nepravdivé.
Takže by ste mali používať:
alebo:
Len na vysvetlenie, sekvencie sú vyhodnocované na
False
aleboTrue
v logickom kontexte, ak sú prázdne alebo nie. Nie sú rovné hodnoteFalse
aleboTrue
.Najelegantnejším spôsobom by pravdepodobne bolo jednoducho skontrolovať, či je to pravda alebo faloš, napr.:
Možno však budete chcieť odstrániť biely priestor, pretože:
Pravdepodobne by ste však mali byť v tomto trochu explicitnejší, pokiaľ neviete s istotou, že tento reťazec prešiel nejakým druhom validácie a je reťazcom, ktorý sa dá takto testovať.