Como validar strings usando métodos booleanos em Python

Uma string em Python é uma sequência de caracteres. Você pode realizar várias operações em strings usando um conjunto de métodos embutidos. Os métodos booleanos de string são um subconjunto desses métodos embutidos usados ​​para verificar se a string fornecida segue certas regras ou não.

Neste artigo, você aprenderá como usar vários métodos booleanos de string diferentes no Python 3 para se tornar um desenvolvedor mais eficiente.

Como verificar se uma string contém apenas caracteres alfanuméricos

Você pode verificar se a string fornecida consiste em apenas caracteres alfanuméricos usando o método isalnum () .

Este método retorna True se todos os caracteres forem alfanuméricos. Os caracteres alfanuméricos são (AZ), (az) e (0-9). Se algum dos caracteres da string não for alfanumérico, o método retornará False .

Exemplos:

 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)

Resultado:

 True
False
False
True
True

Como verificar se uma string consiste apenas em caracteres alfabéticos

Você pode verificar se a string fornecida consiste em apenas caracteres alfabéticos usando o método isalpha () .

Este método retorna True se todos os caracteres forem alfabéticos. Os caracteres alfabéticos são (AZ) e (az). Se algum dos caracteres da string não for alfabético, o método retornará False .

Exemplos:

 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)

Resultado:

 True
False
False
False
False

Como verificar se todos os caracteres em uma string são decimais, dígitos ou numéricos

Você pode verificar se a string fornecida consiste em apenas caracteres decimais, dígitos ou caracteres numéricos usando os métodos isdecimal (), isdigit () e isnumeric () respectivamente. Todos os três métodos parecem ser semelhantes, mas a documentação do Python observa a diferença entre os três métodos como:

  • isdecimal (): Caracteres decimais são aqueles que podem ser usados ​​para formar números na base 10, por exemplo, U + 0660, ARABIC-INDIC DIGIT ZERO. Formalmente, um caractere decimal é um caractere da Categoria Geral Unicode “Nd”.
  • isdigit (): os dígitos incluem caracteres decimais e dígitos que precisam de tratamento especial, como os dígitos sobrescritos de compatibilidade. Isso cobre dígitos que não podem ser usados ​​para formar números na base 10, como os números de Kharosthi. Formalmente, um dígito é um caractere que possui o valor de propriedade Numeric_Type = Digit ou Numeric_Type = Decimal.
  • isnumeric (): Os caracteres numéricos incluem os dígitos e todos os caracteres que possuem a propriedade de valor numérico Unicode, por exemplo, U + 2155, VULGAR FRACTION ONE QUINTO. Formalmente, os caracteres numéricos são aqueles com o valor da propriedade Numeric_Type = Digit, Numeric_Type = Decimal ou Numeric_Type = Numeric.

Por definição, a relação entre os três métodos pode ser representada como:

 isdecimal() ⊆ isdigit() ⊆ isnumeric()

Isso significa que, se uma string for decimal, também será um dígito e numérico.

Relacionado: Como criar e usar tuplas em Python

Exemplos:

 # 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())

Resultado:

 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

Como verificar se uma string é um identificador válido

Você pode verificar se a string fornecida é um identificador válido usando o método isidentifier () . Este método retorna True se a string for um identificador válido. Caso contrário, retorna False .

Uma string é considerada um identificador válido se satisfizer as seguintes condições:

1. Contém apenas caracteres alfanuméricos e / ou sublinhados.

2. Não começa com um caractere numérico.

3. Não contém espaços em branco.

Relacionado: Como usar loops For em Python

Exemplos:

 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)

Resultado:

 True
False
False
True
False

Como verificar se todos os caracteres em uma string estão em maiúsculas ou minúsculas

Você pode verificar se a string fornecida consiste apenas em caracteres maiúsculos usando o método isupper () .

Da mesma forma, você pode verificar se a string fornecida consiste apenas em caracteres minúsculos usando o método islower () . O método isupper () retorna True se todos os caracteres da string estão em maiúsculas e o método islower () retorna True se todos os caracteres da string estão em minúsculas.

Exemplos:

 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())

Resultado:

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

Como verificar se todos os caracteres em uma string são espaços em branco

Você pode verificar se a string fornecida consiste em apenas caracteres de espaço em branco usando o método isspace () .

Este método retorna True se todos os caracteres forem espaços em branco. Se algum dos caracteres da string não for um espaço em branco, o método retornará False .

Exemplos:

 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)

Resultado:

 True
False
False

Como verificar se o texto segue as regras de estilo de título

Você pode verificar se o texto fornecido segue as regras de um título usando o método istitle () .

Diz-se que um texto segue as regras do título se todas as palavras do texto começarem com uma letra maiúscula e o resto das palavras forem letras minúsculas. Se o texto fornecido segue esta regra, o método istitle () retorna True , caso contrário, retorna False .

Exemplos:

 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)

Resultado:

 True
False
False

Torne a programação divertida usando strings

Strings são muito úteis ao comunicar informações do programa a seus usuários. Usar a validação booleana não é a única maneira de brincar com strings Python, no entanto.

Você pode converter texto chato em texto interessante manipulando strings. Seja criativo e torne a programação divertida!