Il tipo di stringa di Python (str) è dotato di metodi convenienti per manipolare le lettere maiuscole e minuscole. Potete convertire tra maiuscole e minuscole e determinare il caso.
Le seguenti informazioni sono fornite qui.
- Conversione tra lettere maiuscole e minuscole
- Uso di base
- Gestione di caratteri a grandezza naturale e a metà grandezza
str.upper()
Convertire tutte le lettere in maiuscolestr.lower()
Convertire tutte le lettere in minuscolostr.capitalize()
Convertire la prima lettera in maiuscolo e il resto in minuscolo.str.title()
Convertire la prima lettera di una parola in maiuscolo e il resto in minuscolo.str.swapcase()
Convertire lettere maiuscole in minuscole e lettere minuscole in maiuscole.
- Determinare le lettere maiuscole e minuscole
str.isupper()
: Determinare se tutte le lettere sono maiuscolestr.islower()
: Determinare se tutti i caratteri sono minuscoli.str.istitle()
: Determinare se si tratta di un caso di titolo.
- Confronta le stringhe in modo insensibile alle maiuscole e alle minuscole
- Conversione tra lettere maiuscole e minuscole
- Uso di base
- Gestione di caratteri a grandezza naturale e a metà grandezza
- str.upper(): converte tutte le lettere in maiuscolo
- str.lower(): converte tutti i caratteri in minuscolo
- str.capitalize(): converte la prima lettera in maiuscolo, il resto in minuscolo
- str.title(): converte la prima lettera di una parola in maiuscolo e il resto in minuscolo
- str.swapcase(): converte le maiuscole in minuscole, le minuscole in maiuscole
- Determinare le lettere maiuscole e minuscole
- Confronta le stringhe in modo insensibile alle maiuscole e alle minuscole
Conversione tra lettere maiuscole e minuscole
Uso di base
Per prima cosa, spiegherò l'uso di base. Useremo il metodo upper() per capitalizzare tutte le lettere come esempio, ma lo stesso vale per altri metodi.
Per comodità, scriviamo “conversione”, ma in Python, gli oggetti di tipo stringa (str) non sono aggiornabili, quindi la stringa originale (s_org nell'esempio) non viene modificata.
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE print(s_org) # pYThon proGramminG laNguAge
Se volete usare la stringa convertita in seguito, potete memorizzarla in una nuova variabile come segue.
s_new = s_org.upper() print(s_new) # PYTHON PROGRAMMING LANGUAGE
È anche possibile sovrascrivere la variabile originale.
s_org = s_org.upper() print(s_org) # PYTHON PROGRAMMING LANGUAGE
Gestione di caratteri a grandezza naturale e a metà grandezza
Se un carattere è sensibile alle maiuscole e alle minuscole, come l'alfabeto, sarà convertito in caratteri sia a singolo che a doppio byte.
I caratteri che non sono case-sensitive, come i numeri e i caratteri cinesi, rimangono invariati. L'esempio è per upper(), ma lo stesso vale per altri metodi.
s_org = 'Pyhon Python 123' print(s_org.upper()) # PYHON PYTHON 123
str.upper(): converte tutte le lettere in maiuscolo
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE
str.lower(): converte tutti i caratteri in minuscolo
s_org = 'pYThon proGramminG laNguAge' print(s_org.lower()) # python programming language
str.capitalize(): converte la prima lettera in maiuscolo, il resto in minuscolo
s_org = 'pYThon proGramminG laNguAge' print(s_org.capitalize()) # Python programming language
str.title(): converte la prima lettera di una parola in maiuscolo e il resto in minuscolo
Conversione in un cosiddetto caso di titolo.
s_org = 'pYThon proGramminG laNguAge' print(s_org.title()) # Python Programming Language
str.swapcase(): converte le maiuscole in minuscole, le minuscole in maiuscole
Scambia lettere maiuscole e minuscole.
s_org = 'pYThon proGramminG laNguAge' print(s_org.swapcase()) # PytHON PROgRAMMINg LAnGUaGE
Determinare le lettere maiuscole e minuscole
Negli esempi seguenti, i metodi sono chiamati direttamente da letterali di stringa come 'python', ma lo stesso vale se memorizzati in variabili come negli esempi precedenti.
str.isupper(): determina se tutte le lettere sono maiuscole
isupper() restituisce true se contiene almeno un carattere maiuscolo e tutti sono maiuscoli, e false altrimenti.
print('PYTHON'.isupper()) # True print('Python'.isupper()) # False
Se il carattere è case-sensitive, anche i caratteri a doppio byte sono giudicati.
print('PYTHON'.isupper()) # True
Se anche un solo carattere case-sensitive è incluso, il carattere case-insensitive viene ignorato, ma se nessun carattere case-sensitive è incluso (tutti i caratteri sono case-insensitive), la decisione è false.
print('PYTHON 123'.isupper()) # True print('123'.isupper()) # False
str.islower(): determina se tutti i caratteri sono minuscoli
islower() restituisce true se contiene almeno un carattere minuscolo e tutti sono minuscoli, e false altrimenti.
print('python'.islower()) # True print('Python'.islower()) # False
Se il carattere è case-sensitive, anche i caratteri a doppio byte sono giudicati.
print('python'.islower()) # True
Se anche un solo carattere case-sensitive è incluso, il carattere case-insensitive viene ignorato, ma se nessun carattere case-sensitive è incluso (tutti i caratteri sono case-insensitive), la decisione è false.
print('python 123'.islower()) # True print('123'.islower()) # False
str.istitle(): Determina se il caso è un caso di titolo.
istitle() restituisce true se la stringa è un caso di titolo (la prima lettera della parola è maiuscola, il resto è minuscolo), false altrimenti.
print('Python Programming Language'.istitle()) # True print('PYTHON Programming Language'.istitle()) # False
Se contiene caratteri case-insensitive, sarà falso se i caratteri case-insensitive sono preceduti da una lettera minuscola.
print('★Python Programming Language'.istitle()) # True print('Python★ Programming Language'.istitle()) # True print('Py★thon Programming Language'.istitle()) # False
Si noti che non ci sono molte stringhe come l'esempio precedente, ma è realistico includere numeri in numeri ordinali e altri casi.
print('The 1st Team'.istitle()) # False print('The 1St Team'.istitle()) # True
Se non sono inclusi caratteri sensibili alle maiuscole e alle minuscole (tutti i caratteri sono case-insensitive), false.
print('123'.istitle()) # False
Confronta le stringhe in modo insensibile alle maiuscole e alle minuscole
Quando si confrontano le stringhe, lettere maiuscole e minuscole diverse non sono considerate equivalenti.
s1 = 'python' s2 = 'PYTHON' print(s1 == s2) # False
Se volete fare un confronto insensibile alle maiuscole, potete usare upper() o lower() per convertire i due e confrontarli.
print(s1.upper() == s2.upper()) # True print(s1.lower() == s2.lower()) # True print(s1.capitalize() == s2.capitalize()) # True print(s1.title() == s2.title()) # True