Python Language Test di cosa è composta una stringa

Esempio

Il tipo str di Python include anche numerosi metodi che possono essere utilizzati per valutare il contenuto di una stringa. Questi sono str.isalpha , str.isdigit , str.isalnum , str.isspace . Le maiuscole possono essere testate con str.isupper , str.islower e str.istitle .


str.isalpha

str.isalpha non accetta argomenti e restituisce True se tutti i caratteri in una determinata stringa sono alfabetici, ad esempio:

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

Come caso limite, la stringa vuota "".isalpha() False se utilizzata con "".isalpha() .


str.isupper , str.islower , str.istitle

Questi metodi verificano la maiuscola in una determinata stringa.

str.isupper è un metodo che restituisce True se tutti i caratteri di una data stringa sono maiuscoli e False altrimenti.

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

Al contrario, str.islower è un metodo che restituisce True se tutti i caratteri in una data stringa sono in minuscolo e False altrimenti.

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

str.istitle restituisce True se la stringa data è title cased; cioè, ogni parola inizia con un carattere maiuscolo seguito da caratteri minuscoli.

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

str.isdecimal , str.isdigit , str.isnumeric

str.isdecimal restituisce se la stringa è una sequenza di cifre decimali, adatta a rappresentare un numero decimale.

str.isdigit include cifre non in una forma adatta a rappresentare un numero decimale, come le cifre in apice.

str.isnumeric include tutti i valori numerici, anche se non le cifre, come valori al di fuori dell'intervallo 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 in Python 3, str in Python 2), supportano solo isdigit , che controlla solo le cifre ASCII di base.

Come con str.isalpha , la stringa vuota str.isalpha False .


str.isalnum

Questa è una combinazione di str.isalpha e str.isnumeric , in particolare valuta su True se tutti i caratteri nella stringa data sono alfanumerici , ovvero sono costituiti da caratteri alfabetici o numerici:

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

str.isspace

Valuta True se la stringa contiene solo caratteri di spaziatura.

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

A volte una stringa sembra "vuota" ma non sappiamo se è perché contiene solo spazi bianchi o nessun carattere

>>> "".isspace()
False

Per coprire questo caso abbiamo bisogno di un test aggiuntivo

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

Ma il modo più breve per verificare se una stringa è vuota o contiene solo caratteri di spaziatura è usare la strip (senza argomenti rimuove tutti i caratteri di spaziatura iniziali e finali)

>>> not my_str.strip()
True