Python Language Probando de qué está compuesta una cuerda


Ejemplo

El tipo str de Python también presenta una serie de métodos que se pueden usar para evaluar el contenido de una cadena. Estos son str.isalpha , str.isdigit , str.isalnum , str.isspace . La capitalización se puede probar con str.isupper , str.islower y str.istitle .


str.isalpha

str.isalpha no toma argumentos y devuelve True si todos los caracteres de una cadena dada son alfabéticos, por ejemplo:

>>> "Hello World".isalpha()  # contains a space
False
>>> "Hello2World".isalpha()  # contains a number
False
>>> "HelloWorld!".isalpha()  # contains punctuation
False
>>> "HelloWorld".isalpha()
True

Como un caso de borde, la cadena vacía se evalúa como False cuando se usa con "".isalpha() .


str.isupper , str.islower , str.istitle

Estos métodos prueban el uso de mayúsculas en una cadena dada.

str.isupper es un método que devuelve True si todos los caracteres de una cadena dada están en mayúsculas y False caso contrario.

>>> "HeLLO WORLD".isupper()
False
>>> "HELLO WORLD".isupper()
True
>>> "".isupper()
False

A la inversa, str.islower es un método que devuelve True si todos los caracteres de una cadena dada son minúsculas y False contrario.

>>> "Hello world".islower()
False
>>> "hello world".islower()
True
>>> "".islower()
False

str.istitle devuelve True si la cadena dada es un título cargado; es decir, cada palabra comienza con un carácter en mayúscula seguido de caracteres en minúscula.

>>> "hello world".istitle()
False
>>> "Hello world".istitle()
False
>>> "Hello World".istitle()
True
>>> "".istitle()
False

str.isdecimal , str.isdigit , str.isnumeric

str.isdecimal devuelve si la cadena es una secuencia de dígitos decimales, adecuada para representar un número decimal.

str.isdigit incluye dígitos que no están en una forma adecuada para representar un número decimal, como los dígitos en superíndice.

str.isnumeric incluye cualquier valor numérico, incluso si no son dígitos, como valores fuera del rango 0-9.

            isdecimal    isdigit   isnumeric

12345        True        True       True
១2߃໔5        True        True       True
①²³🄅₅       False       True       True
⑩⒓          False       False      True
Five         False       False      False

Bytestrings ( bytes en Python 3, str en Python 2), solo admite isdigit , que solo verifica los dígitos ASCII básicos.

Al igual que con str.isalpha , la cadena vacía se evalúa como False .


str.isalnum

Esta es una combinación de str.isalpha y str.isnumeric , específicamente se evalúa como True si todos los caracteres en la cadena dada son alfanuméricos , es decir, consisten en caracteres alfabéticos o numéricos:

>>> "Hello2World".isalnum()
True
>>> "HelloWorld".isalnum()
True
>>> "2016".isalnum()
True
>>> "Hello World".isalnum()  # contains whitespace
False

str.isspace

Se evalúa como True si la cadena solo contiene caracteres de espacio en blanco.

>>> "\t\r\n".isspace()
True
>>> " ".isspace()
True

A veces, una cadena se ve "vacía" pero no sabemos si es porque solo contiene espacios en blanco o ningún carácter.

>>> "".isspace()
False

Para cubrir este caso necesitamos una prueba adicional.

>>> my_str = ''
>>> my_str.isspace()
False
>>> my_str.isspace() or not my_str
True

Pero la forma más corta de probar si una cadena está vacía o simplemente contiene caracteres de espacio en blanco es usar la strip (sin argumentos elimina todos los caracteres de espacio en blanco iniciales y finales)

>>> not my_str.strip()
True