Cómo validar cadenas usando métodos booleanos en Python

Una cadena en Python es una secuencia de caracteres. Puede realizar varias operaciones en cadenas utilizando un conjunto de métodos integrados. Los métodos booleanos de cadena son un subconjunto de estos métodos incorporados que se utilizan para verificar si la cadena dada sigue ciertas reglas o no.

En este artículo, aprenderá a usar varios métodos booleanos de cadena diferentes en Python 3 para convertirse en un desarrollador más eficiente.

Cómo verificar si una cadena contiene solo caracteres alfanuméricos

Puede verificar si la cadena dada consta solo de caracteres alfanuméricos usando el método isalnum () .

Este método devuelve True si todos los caracteres son alfanuméricos. Los caracteres alfanuméricos son (AZ), (az) y (0-9). Si alguno de los caracteres de la cadena no es alfanumérico, este método devuelve False .

Ejemplos:

 str1 = "WelcomeToMUO"
# This method will return "True" as all the characters are alphanumeric
checkstr1 = str1.isalnum()
print(checkstr1)
str2 = "Welcome To MUO"
# This method will return "False" as the string have 2 whitespaces which are not alphanumeric
checkstr2 = str2.isalnum()
print(checkstr2)
str3 = "#WelcomeToMUO"
# This method will return "False" as the string have a special character "#" which is not alphanumeric
checkstr3 = str3.isalnum()
print(checkstr3)
str4 = "274962472"
# This method will return "True" as all the characters are alphanumeric
checkstr4 = str4.isalnum()
print(checkstr4)
str5 = "Welcome2MUO"
# This method will return "True" as all the characters are alphanumeric
checkstr5 = str5.isalnum()
print(checkstr5)

Producción:

 True
False
False
True
True

Cómo comprobar si una cadena consta solo de caracteres alfabéticos

Puede verificar si la cadena dada consta solo de caracteres alfabéticos usando el método isalpha () .

Este método devuelve True si todos los caracteres son alfabéticos. Los caracteres alfabéticos son (AZ) y (az). Si alguno de los caracteres de la cadena no es alfabético, este método devuelve False .

Ejemplos:

 str1 = "WelcomeToMUO"
# This method will return "True" as all the characters are alphabetic
checkstr1 = str1.isalpha()
print(checkstr1)
str2 = "Welcome To MUO"
# This method will return "False" as the string have 2 whitespaces which are not alphabetic
checkstr2 = str2.isalpha()
print(checkstr2)
str3 = "#WelcomeToMUO"
# This method will return "False" as the string have a special character "#" which is not alphabetic
checkstr3 = str3.isalpha()
print(checkstr3)
str4 = "274962472"
# This method will return "False" as all the characters are not alphabetic
checkstr4 = str4.isalpha()
print(checkstr4)
str5 = "Welcome2MUO"
# This method will return "False" as the string has a digit "2" which is not alphabetic
checkstr5 = str5.isalpha()
print(checkstr5)

Producción:

 True
False
False
False
False

Cómo comprobar si todos los caracteres de una cadena son decimales, dígitos o numéricos

Puede verificar si la cadena dada consta solo de caracteres decimales, dígitos o caracteres numéricos usando los métodos isdecimal (), isdigit () e isnumeric () respectivamente. Los tres métodos parecen ser similares, pero la documentación de Python señala la diferencia entre los tres métodos como:

  • isdecimal (): Los caracteres decimales son los que se pueden utilizar para formar números en base 10, por ejemplo, U + 0660, CERO DÍGITO ÁRABE-ÍNDICO. Formalmente, un carácter decimal es un carácter de la categoría general Unicode “Nd”.
  • isdigit (): Los dígitos incluyen caracteres decimales y dígitos que necesitan un manejo especial, como los dígitos en superíndice de compatibilidad. Esto cubre los dígitos que no se pueden usar para formar números en base 10, como los números de Kharosthi. Formalmente, un dígito es un carácter que tiene el valor de propiedad Numeric_Type = Digit o Numeric_Type = Decimal.
  • isnumeric (): los caracteres numéricos incluyen caracteres de dígitos y todos los caracteres que tienen la propiedad de valor numérico Unicode, por ejemplo, U + 2155, FRACCIÓN VULGAR UNO QUINTO. Formalmente, los caracteres numéricos son aquellos con el valor de propiedad Numeric_Type = Digit, Numeric_Type = Decimal o Numeric_Type = Numeric.

Por definición, la relación entre los tres métodos se puede representar como:

 isdecimal() ⊆ isdigit() ⊆ isnumeric()

Esto significa que, si una cadena es decimal, también será numérica y numérica.

Relacionado: Cómo crear y usar tuplas en Python

Ejemplos:

 # Digits
str1 = "8734947"
print("str1:")
print("str1.isdecimal() : ",str1.isdecimal())
print("str1.isdigit() : ",str1.isdigit())
print("str1.isnumeric() : ",str1.isnumeric())
# Fractional Value
str2 = "½"
print("str2:")
print("str2.isdecimal() : ",str2.isdecimal())
print("str2.isdigit() : ",str2.isdigit())
print("str2.isnumeric() : ",str2.isnumeric())
# Superscript Values
str3 = "⁰¹²³⁴⁵⁶⁷⁸⁹"
print("str3:")
print("str3.isdecimal() : ",str3.isdecimal())
print("str3.isdigit() : ",str3.isdigit())
print("str3.isnumeric() : ",str3.isnumeric())

Producción:

 str1:
str1.isdecimal() : True
str1.isdigit() : True
str1.isnumeric() : True
str2:
str2.isdecimal() : False
str2.isdigit() : False
str2.isnumeric() : True
str3:
str3.isdecimal() : False
str3.isdigit() : True
str3.isnumeric() : True

Cómo comprobar si una cadena es un identificador válido

Puede verificar si la cadena dada es un identificador válido usando el método isidentifier () . Este método devuelve True si la cadena es un identificador válido. De lo contrario, devuelve False .

Se dice que una cadena es un identificador válido si cumple las siguientes condiciones:

1. Solo contiene caracteres alfanuméricos y / o guiones bajos.

2. No comienza con un carácter numérico.

3. No contiene espacios en blanco.

Relacionado: Cómo usar bucles for en Python

Ejemplos:

 str1 = "var1"
# This method will return "True" as the given string is a valid identifier
checkstr1 = str1.isidentifier()
print(checkstr1)
str2 = "var 1"
# This method will return "False" as the string contains a whitespace
checkstr2 = str2.isidentifier()
print(checkstr2)
str3 = "var1#"
# This method will return "False" as the string have a special character "#"
checkstr3 = str3.isidentifier()
print(checkstr3)
str4 = "_var1_"
# This method will return "True" as the given string is a valid identifier
checkstr4 = str4.isidentifier()
print(checkstr4)
str5 = "1var"
# This method will return "False" as the string starts with a digit "1"
checkstr5 = str5.isidentifier()
print(checkstr5)

Producción:

 True
False
False
True
False

Cómo comprobar si todos los caracteres de una cadena son mayúsculas o minúsculas

Puede verificar si la cadena dada consta solo de caracteres en mayúsculas usando el método isupper () .

De manera similar, puede verificar si la cadena dada consta solo de caracteres en minúsculas usando el método islower () . El método isupper () devuelve True si todos los caracteres de la cadena están en mayúsculas y el método islower () devuelve True si todos los caracteres de la cadena están en minúsculas.

Ejemplos:

 str1 = "MAKEUSEOF"
print("str1:")
print("str1.isupper() : ",str1.isupper())
print("str1.islower() : ",str1.islower())
str2 = "makeuseof"
print("str2:")
print("str2.isupper() : ",str2.isupper())
print("str2.islower() : ",str2.islower())
str3 = "MakeUseOf"
print("str3:")
print("str3.isupper() : ",str3.isupper())
print("str3.islower() : ",str3.islower())

Producción:

 str1:
str1.isupper() : True
str1.islower() : False
str2:
str2.isupper() : False
str2.islower() : True
str3:
str3.isupper() : False
str3.islower() : False

Cómo comprobar si todos los caracteres de una cadena son espacios en blanco

Puede verificar si la cadena dada consta solo de caracteres de espacio en blanco usando el método isspace () .

Este método devuelve True si todos los caracteres son espacios en blanco. Si alguno de los caracteres de la cadena no es un espacio en blanco, este método devuelve False .

Ejemplos:

 str1 = " "
# This method will return "True" as the given string contains only whitespace
checkstr1 = str1.isspace()
print(checkstr1)
str2 = " MUO "
# This method will return "False" as the string contains characters other than whitespace
checkstr2 = str2.isspace()
print(checkstr2)
str3 = " - "
# This method will return "False" as the string contains character other than whitespace
checkstr3 = str3.isspace()
print(checkstr3)

Producción:

 True
False
False

Cómo comprobar si el texto sigue las reglas de estilo de título

Puede verificar si el texto dado sigue las reglas de un título usando el método istitle () .

Se dice que un texto sigue las reglas del título si todas las palabras del texto comienzan con una letra mayúscula y el resto de las palabras son letras minúsculas. Si el texto dado sigue esta regla, el método istitle () devuelve True ; de lo contrario, devuelve False .

Ejemplos:

 str1 = "Welcome To Muo"
# This method will return "True" as the given string follows the rules of a title
checkstr1 = str1.istitle()
print(checkstr1)
str2 = "Welcome to Muo"
# This method will return "False" as the second word ("to") doesn't starts with a capital case character
checkstr2 = str2.istitle()
print(checkstr2)
str3 = "welcome to muo"
# This method will return "False" as all the words starts with a lowercase character
checkstr3 = str3.istitle()
print(checkstr3)

Producción:

 True
False
False

Haga que la programación sea divertida usando cadenas

Las cadenas son muy útiles a la hora de comunicar información del programa a sus usuarios. Sin embargo, usar la validación booleana no es la única forma de jugar con cadenas de Python.

Puede convertir texto aburrido en texto interesante manipulando cadenas. ¡Sea creativo y haga que la programación sea divertida!