Programa de Python para verificar si una cadena está vacía o no

| | | | | | | | | | | | | |

Echemos un vistazo a varios métodos para verificar si una cadena está vacía o no.

Método # 1: usar len()

Usar len () es el método más común para validar una cadena de longitud cero. Aunque ignora el hecho de que una línea con solo espacios también debe considerarse prácticamente una línea vacía, incluso si no es cero.


# Código de demostración de Python3
# comprobar si la línea está vacía
# usando len ()


# cadena de inicialización

test_str1 = ""

test_str2 = " "


# comprobar si el la línea está vacía

print ( "The ¿La cadena de longitud cero sin espacios está vacía?: " , end = " ")

si ( len (test_str1) = = 0 ):

print ( "Sí" )

más :

imprimir ( "No" )


# imprime no

print ( "¿La cadena de longitud cero con solo espacios está vacía?: " , end = " ")

if ( len (test_str2) = = 0 ):

imprimir ( "Sí" )

else :

imprimir ( "No" )

Salida:

¿La cadena de longitud cero sin espacios está vacía?: Sí ¿La cadena de longitud cero con solo espacios está vacía?: No 

Método # 2: Usar not

La instrucción not también puede realizar una tarea similar a len() y comprueba una stri ng de longitud 0, pero como arriba, asume que una cadena que contiene solo espacios tampoco está vacía, lo que prácticamente no debería ser cierto.


# Código de demostración de Python3
# comprobar si la línea está vacía
# no usar


# cadena de inicialización

test_str1 = " "

test_str2 = " "


# comprobar, e Si la cadena está vacía

print ( "La cadena de longitud cero sin espacios es ¿vacío?: " , end = " ")

si < /código> ( no test_str1):

imprimir ( "Sí " )

else :

imprimir ( "No" < código clase = "simple">)


# sin impresiones

print ( "¿La cadena de longitud cero con solo espacios está vacía?:" , end = "")

si ( no test_str 2):

print ( "Sí " )

else :

imprimir ( "No" )

Salida:

¿La cadena de longitud cero sin espacios está vacía?: Sí ¿La cadena de longitud cero con solo espacios está vacía?: No 

Método n.° 3: Usar not + str.strip()

El problema de cadena vacía + longitud cero podría eliminarse con strip() , strip () devuelve verdadero si encuentra espacios, por lo que verificar eso podría solucionar el problema busca una línea puramente en blanco.


# código de demostración de Python3
# comprobar si la línea está vacía
# usando not + strip ()


# cadena de inicialización

test_str1 = ""

< clase de código = "simple"> test_str2 = " "


# comprobar si la línea está vacía

imprimir ( "¿La cadena de longitud cero sin espacios está vacía?: " , end < /código> = " ")

si ( no < clase de código="simple"> (test_str1 y test_str1.strip ())):

print ( "Sí" )

else :

imprimir ( " No " )


# imprime sí

imprimir ( " ¿La cadena de longitud cero con solo espacios está vacía?: " , fin = "")

si ( no (test_str2 y test_str2.strip())):

< código clase = "espacios indefinidos"> imprimir ( "Sí" < /código> )

más :

imprimir ( " No " )

Salir:

¿La cadena de longitud cero sin espacios está vacía?: Sí ¿La cadena de longitud cero con solo espacios está vacía?: Sí 

Método # 4: Usar not + str.isspace

Funciona de manera similar al anterior método y comprueba si hay espacios en la cadena. Este método es más eficiente porque strip () requiere una operación de eliminación, que toma la carga computacional si no lo hace. los espacios son un buen número.


# Código de demostración de Python 3
# verificar si la línea está vacía
# usando not + isspace ()


# cadena de inicialización

test_str1 = "" < /código>

test_str2 = " "


# comprobar si la cadena está vacía

imprimir ( "¿La cadena de longitud cero sin espacios está vacía?: " , end = " ")

si ( no (test_str1 y no test_str1. isspace ( ))):

print ( "Sí" )

más :

print ( "No" )


# imprime sí

print ( "¿La cadena de longitud cero con solo espacios está vacía?: " , fin = " ")

si ( not (test_str2 y no test_str2.isspace ())):

imprimir ( "Sí" )

else :

< clase de código = "palabra clave"> print ( " No " ) < /código>

Salida:

¿La cadena de longitud cero sin espacios está vacía?: Sí ¿La cadena de longitud cero con solo espacios está vacía?: Sí