Ar "Python" turi kažką panašaus į tuščios eilutės kintamąjį, kuriame galite atlikti:
if myString == string.empty:
Nepaisant to, koks yra elegantiškiausias būdas tikrinti, ar nėra tuščios eilutės reikšmių? Man atrodo, kad kietas kodavimas ""
kiekvieną kartą tikrinant tuščią eilutę nėra toks geras.
Tuščios eilutės yra "falsy", o tai reiškia, kad jos laikomos klaidingomis loginiame kontekste, todėl galite tiesiog tai padaryti:
if not myString:
Šis būdas yra priimtiniausias, jei žinote, kad jūsų kintamasis yra eilutė. Jei jūsų kintamasis gali būti ir kito tipo, tuomet turėtumėte naudoti myString == ""
. Apie kitas reikšmes, kurios yra klaidingos loginiame kontekste, skaitykite Tiesos reikšmių testavimas dokumentacijoje.
Iš PEP 8, "Programavimo rekomendacijos":
sekoms (eilutėms, sąrašams, tuple) naudokite tai, kad tuščios sekos yra klaidingos.
Taigi turėtumėte naudoti:
if not some_string:
arba:
if some_string:
Norint paaiškinti, loginiame kontekste sekos vertinamos į False
arba True
, jei jos yra tuščios arba ne. Jos nėra lygios False
arba True
.
Elegantiškiausias būdas tikriausiai būtų paprasčiausiai patikrinti, ar tai tiesa, ar falsy, pvz.:
if not my_string:
Tačiau galbūt norėsite pašalinti baltąjį tarpą, nes:
>>> bool("")
False
>>> bool(" ")
True
>>> bool(" ".strip())
False
Tačiau tikriausiai turėtumėte būti šiek tiek aiškesni, nebent tikrai žinote, kad ši eilutė praėjo kokį nors patvirtinimą ir yra eilutė, kurią galima patikrinti tokiu būdu.