A Python sztring típusa (str) alapfelszereltségként kényelmes módszerekkel rendelkezik a kis- és nagybetűk manipulálására. Konvertálhatunk a nagy- és kisbetűk között, és meghatározhatjuk a nagy- és kisbetűket.
A következő információk itt találhatók.
- Átváltás nagy- és kisbetűk között
- Alapvető használat
- Teljes és félméretű karakterek kezelése
str.upper()
Minden betűt nagybetűvé alakítstr.lower()
Minden betűt kisbetűvé alakítstr.capitalize()
Az első betűt alakítsa át nagybetűvé, a többit pedig kisbetűvé.str.title()
A szó első betűjét nagybetűvé, a többit kisbetűvé alakítja.str.swapcase()
A nagybetűket kisbetűvé, a kisbetűket pedig nagybetűvé alakítja át.
- Nagy- és kisbetűk meghatározása
str.isupper()
: Határozza meg, hogy minden betű nagybetűs-estr.islower()
: Meghatározza, hogy minden karakter kisbetűs-e.str.istitle()
: Határozza meg, hogy címesetről van-e szó.
- A karakterláncok összehasonlítása a nagy- és kisbetűket nem figyelembe véve
- Átváltás nagy- és kisbetűk között
- Alapvető használat
- Teljes és félméretű karakterek kezelése
- str.upper(): minden betűt nagybetűvé konvertál
- str.lower(): minden karaktert kisbetűvé konvertál
- str.capitalize(): az első betűt nagybetűvé, a többit kisbetűvé alakítja át
- str.title(): a szó első betűjét nagybetűvé, a többit kisbetűvé alakítja át
- str.swapcase(): nagybetűket kisbetűvé, kisbetűket nagybetűvé konvertálja
- Nagy- és kisbetűk meghatározása
- A karakterláncok összehasonlítása a nagy- és kisbetűket nem figyelembe véve
Átváltás nagy- és kisbetűk között
Alapvető használat
Először is elmagyarázom az alapvető használatot. Példaként az upper() metódust fogjuk használni az összes betű nagybetűsítésére, de ugyanez vonatkozik a többi metódusra is.
Az egyszerűség kedvéért “konverziót” írunk, de Pythonban a string típusú (str) objektumok nem frissíthetők, így maga az eredeti string (a példában s_org) nem változik.
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE print(s_org) # pYThon proGramminG laNguAge
Ha a konvertált karakterláncot később is fel akarja használni, akkor egy új változóban tárolhatja a következőképpen.
s_new = s_org.upper() print(s_new) # PYTHON PROGRAMMING LANGUAGE
Lehetőség van az eredeti változó felülírására is.
s_org = s_org.upper() print(s_org) # PYTHON PROGRAMMING LANGUAGE
Teljes és félméretű karakterek kezelése
Ha egy karakter nagy- és kisbetű-érzékeny, mint például az ábécé, akkor mind az egybájtos, mind a kétbájtos karakterekké konvertálódik.
A nem nagy- és kisbetű-érzékeny karakterek, például a számok és a kínai karakterek változatlanok maradnak. A példa a upper() metódusra vonatkozik, de ugyanez érvényes a többi metódusra is.
s_org = 'Pyhon Python 123' print(s_org.upper()) # PYHON PYTHON 123
str.upper(): minden betűt nagybetűvé konvertál
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE
str.lower(): minden karaktert kisbetűvé konvertál
s_org = 'pYThon proGramminG laNguAge' print(s_org.lower()) # python programming language
str.capitalize(): az első betűt nagybetűvé, a többit kisbetűvé alakítja át
s_org = 'pYThon proGramminG laNguAge' print(s_org.capitalize()) # Python programming language
str.title(): a szó első betűjét nagybetűvé, a többit kisbetűvé alakítja át
Átalakítás egy úgynevezett jogcím esetre.
s_org = 'pYThon proGramminG laNguAge' print(s_org.title()) # Python Programming Language
str.swapcase(): nagybetűket kisbetűvé, kisbetűket nagybetűvé konvertálja
Cserélje fel a kis- és nagybetűket.
s_org = 'pYThon proGramminG laNguAge' print(s_org.swapcase()) # PytHON PROgRAMMINg LAnGUaGE
Nagy- és kisbetűk meghatározása
A következő példákban a metódusokat közvetlenül a string literálokból hívjuk meg, mint például a 'python', de ugyanez igaz akkor is, ha változókban tároljuk, mint az előző példákban.
str.isupper(): meghatározza, hogy minden betű nagybetűs-e
Az isupper() igazat ad vissza, ha legalább egy nagybetűs karaktert tartalmaz, és ezek mindegyike nagybetűs, egyébként pedig hamisat.
print('PYTHON'.isupper()) # True print('Python'.isupper()) # False
Ha a karakter nagy- és kisbetű-érzékeny, akkor még a dupla bájtos karakterek is elbírálásra kerülnek.
print('PYTHON'.isupper()) # True
Ha akár egyetlen nagy- és kisbetű-érzékeny karakter is szerepel, a nagy- és kisbetű-érzékeny karaktert figyelmen kívül hagyja, de ha egyetlen nagy- és kisbetű-érzékeny karakter sem szerepel (minden karakter nagy- és kisbetű-érzékeny), a döntés hamis.
print('PYTHON 123'.isupper()) # True print('123'.isupper()) # False
str.islower(): annak meghatározása, hogy minden karakter kisbetűs-e
Az islower() igazat ad vissza, ha legalább egy kisbetűs karaktert tartalmaz, és ezek mindegyike kisbetűs, egyébként pedig hamisat.
print('python'.islower()) # True print('Python'.islower()) # False
Ha a karakter nagy- és kisbetű-érzékeny, akkor még a dupla bájtos karakterek is elbírálásra kerülnek.
print('python'.islower()) # True
Ha akár egyetlen nagy- és kisbetű-érzékeny karakter is szerepel, a nagy- és kisbetű-érzékeny karaktert figyelmen kívül hagyja, de ha egyetlen nagy- és kisbetű-érzékeny karakter sem szerepel (minden karakter nagy- és kisbetű-érzékeny), a döntés hamis.
print('python 123'.islower()) # True print('123'.islower()) # False
str.istitle(): Meghatározza, hogy az eset cím eset-e.
Az istitle() true-t ad vissza, ha a karakterlánc egy title case (a szó első betűje nagybetűs, a többi kisbetűs), egyébként false.
print('Python Programming Language'.istitle()) # True print('PYTHON Programming Language'.istitle()) # False
Ha nagy- és kisbetű-érzékeny karaktereket tartalmaz, akkor hamis lesz, ha a nagy- és kisbetű-érzékeny karakterek előtt kisbetű áll.
print('★Python Programming Language'.istitle()) # True print('Python★ Programming Language'.istitle()) # True print('Py★thon Programming Language'.istitle()) # False
Vegyük észre, hogy nem sok olyan karakterlánc van, mint a fenti példában, de reális, hogy a rendszámok és más esetek számokat is tartalmaznak.
print('The 1st Team'.istitle()) # False print('The 1St Team'.istitle()) # True
Ha nem tartalmaz nagy- és kisbetű-érzékeny karaktereket (minden karakter nagy- és kisbetű-érzéketlen), false.
print('123'.istitle()) # False
A karakterláncok összehasonlítása a nagy- és kisbetűket nem figyelembe véve
A karakterláncok összehasonlításakor a különböző nagy- és kisbetűket nem tekintjük egyenértékűnek.
s1 = 'python' s2 = 'PYTHON' print(s1 == s2) # False
Ha a nagy- és kisbetűket nem figyelembe vevő összehasonlítást szeretne végezni, akkor az upper() vagy az lower() parancsot használhatja a kettő átalakítására és összehasonlítására.
print(s1.upper() == s2.upper()) # True print(s1.lower() == s2.lower()) # True print(s1.capitalize() == s2.capitalize()) # True print(s1.title() == s2.title()) # True