¿Tiene Python algo como una variable de cadena vacía donde se puede hacer:
if myString == string.empty:
En cualquier caso, ¿cuál es la forma más elegante de comprobar los valores de cadena vacía? Me parece que codificar duro `""cada vez para comprobar una cadena vacía no es tan bueno.
Las cadenas vacías son "falsas", lo que significa que se consideran falsas en un contexto booleano, así que puedes hacer esto:
if not myString:
Esta es la forma preferida si usted sabe que su variable es una cadena. Si su variable también podría ser de otro tipo, entonces debería utilizar miCadena == ""
. Consulte la documentación sobre Pruebas de valores de verdad para conocer otros valores que son falsos en contextos booleanos.
De PEP 8, en la sección "Recomendaciones de programación":
Para las secuencias, (cadenas, listas, tuplas), utilice el hecho de que las secuencias vacías son falsas.
Por lo tanto, usted debe utilizar:
if not some_string:
o:
if some_string:
Sólo para aclarar, las secuencias son evaluadas a False
o True
en un contexto booleano si están vacías o no. No son iguales a False
o True
.
La forma más elegante sería probablemente comprobar simplemente si es verdadero o falso, por ejemplo
if not my_string:
Sin embargo, es posible que desee eliminar el espacio en blanco porque:
>>> bool("")
False
>>> bool(" ")
True
>>> bool(" ".strip())
False
Sin embargo, probablemente deberías ser un poco más explícito en esto, a menos que sepas con seguridad que esta cadena ha pasado algún tipo de validación y es una cadena que puede ser probada de esta manera.