Cadenas de caracteres vacías
Una cadena de caracteres vacía es una cadena que no contiene ningún carácter. Se representa simplemente con dos comillas consecutivas sin ningún carácter entre ellas. Por ejemplo:
Las cadenas de caracteres vacías son útiles en muchas situaciones, como cuando se necesita inicializar una variable de tipo cadena sin asignarle un valor específico.
¿Cómo saber si una cadena está vacía?
Un caso común en la programación es verificar si una cadena de caracteres está vacía. Para ello se puede comparar la cadena con una cadena vacía.
Recuerda que el operator ==
se utiliza para comparar dos valores devolviendo True
si son iguales o False
si son diferentes.
Por ejemplo:
cadena = "Hola, Mundo!"
if cadena == "":
print("La cadena está vacía.")
else:
print("La cadena no está vacía.")
En este caso, la cadena no está vacía, por lo que se imprimirá "La cadena no está vacía." en la pantalla.
cadena_vacia = ""
if cadena_vacia == "":
print("La cadena está vacía.")
else:
print("La cadena no está vacía.")
En este caso, la cadena está vacía, por lo que se imprimirá "La cadena está vacía." en la pantalla.
¿Cómo saber si el usuario ha ingresado una cadena vacía?
En Python, cuando el usuario presiona solo la tecla ENTER
en respuesta a la función input()
, se devuelve una cadena vacía.
Por lo tanto, puedes verificar si el usuario presionó solo ENTER
comprobando si el dato devuelto es igual a una cadena vacía:
valor_ingresado = input("Ingrese algo por teclado (o solo `ENTER` para ingresar una cadena vacía): ")
if valor_ingresado == '':
print("Has ingresado una cadena vacía.")
else:
print("Has ingresado", valor_ingresado)
Veamos dos unidades de testeo de este código:
Ingrese algo por teclado (o solo `ENTER` para ingresar una cadena vacía): Pablo
Has ingresado Pablo
Ingrese algo por teclado (o solo `ENTER` para ingresar una cadena vacía):
Has ingresado una cadena vacía.
En el primer caso, el usuario ingresó "Pablo" y en el segundo caso, el usuario presionó solo
ENTER
, por lo que se considera que ingresó una cadena vacía.