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.
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.
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!