Reťazcový typ jazyka Python (str) je štandardne vybavený pohodlnými metódami na manipuláciu s veľkými a malými písmenami. Môžete konvertovať medzi veľkými a malými písmenami a určovať veľkosť písmen.
Tu sú uvedené tieto informácie.
- Prevod medzi veľkými a malými písmenami
- Základné použitie
- Spracovanie znakov plnej a polovičnej veľkosti
str.upper()
Konvertovať všetky písmená na veľkéstr.lower()
Previesť všetky písmená na maléstr.capitalize()
Prvé písmeno preveďte na veľké a ostatné na malé.str.title()
Preveďte prvé písmeno slova na veľké a ostatné na malé.str.swapcase()
Preveďte veľké písmená na malé a malé písmená na veľké.
- Určenie veľkých a malých písmen
str.isupper()
: Určite, či sú všetky písmená veľkéstr.islower()
: Určite, či sú všetky znaky malé.str.istitle()
: Určite, či ide o prípad titulu.
- Porovnávanie reťazcov bez ohľadu na veľkosť písmen
- Prevod medzi veľkými a malými písmenami
- Základné použitie
- Spracovanie znakov plnej a polovičnej veľkosti
- str.upper(): prevedie všetky písmená na veľké
- str.lower(): prevedie všetky znaky na malé písmená
- str.capitalize(): prevedie prvé písmeno na veľké, ostatné na malé
- str.title(): prevedie prvé písmeno slova na veľké a ostatné na malé
- str.swapcase(): prevod veľkých písmen na malé, malých na veľké
- Určenie veľkých a malých písmen
- Porovnávanie reťazcov bez ohľadu na veľkosť písmen
Prevod medzi veľkými a malými písmenami
Základné použitie
Najprv vysvetlím základné použitie. Ako príklad použijeme metódu upper() na písanie veľkých písmen, ale to isté platí aj pre ostatné metódy.
Kvôli pohodliu píšeme „konverzia“, ale v jazyku Python sa objekty typu string (str) nedajú aktualizovať, takže samotný pôvodný string (v príklade s_org) sa nemení.
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE print(s_org) # pYThon proGramminG laNguAge
Ak chcete konvertovaný reťazec použiť neskôr, môžete ho uložiť do novej premennej takto.
s_new = s_org.upper() print(s_new) # PYTHON PROGRAMMING LANGUAGE
Pôvodnú premennú je tiež možné prepísať.
s_org = s_org.upper() print(s_org) # PYTHON PROGRAMMING LANGUAGE
Spracovanie znakov plnej a polovičnej veľkosti
Ak je znak citlivý na veľkosť písmen, napríklad abeceda, prevedie sa na jednobajtové aj dvojbajtové znaky.
Znaky, pri ktorých sa nerozlišujú veľké a malé písmená, ako sú čísla a čínske znaky, zostávajú nezmenené. Príklad sa týka metódy upper(), ale to isté platí aj pre ostatné metódy.
s_org = 'Pyhon Python 123' print(s_org.upper()) # PYHON PYTHON 123
str.upper(): prevedie všetky písmená na veľké
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE
str.lower(): prevedie všetky znaky na malé písmená
s_org = 'pYThon proGramminG laNguAge' print(s_org.lower()) # python programming language
str.capitalize(): prevedie prvé písmeno na veľké, ostatné na malé
s_org = 'pYThon proGramminG laNguAge' print(s_org.capitalize()) # Python programming language
str.title(): prevedie prvé písmeno slova na veľké a ostatné na malé
Konverzia na tzv. titulný prípad.
s_org = 'pYThon proGramminG laNguAge' print(s_org.title()) # Python Programming Language
str.swapcase(): prevod veľkých písmen na malé, malých na veľké
Vymeňte veľké a malé písmená.
s_org = 'pYThon proGramminG laNguAge' print(s_org.swapcase()) # PytHON PROgRAMMINg LAnGUaGE
Určenie veľkých a malých písmen
V nasledujúcich príkladoch sa metódy volajú priamo z reťazcových literálov, napríklad „python“, ale to isté platí aj pri uložení do premenných ako v predchádzajúcich príkladoch.
str.isupper(): určí, či sú všetky písmená veľké
isupper() vráti true, ak obsahuje aspoň jeden znak s veľkými písmenami a všetky sú veľké, a false v opačnom prípade.
print('PYTHON'.isupper()) # True print('Python'.isupper()) # False
Ak je znak citlivý na veľkosť písmen, posudzujú sa aj dvojbajtové znaky.
print('PYTHON'.isupper()) # True
Ak je zahrnutý čo i len jeden znak citlivý na veľkosť písmen, znak citlivý na veľkosť písmen sa ignoruje, ale ak nie je zahrnutý žiadny znak citlivý na veľkosť písmen (všetky znaky sú citlivé na veľkosť písmen), rozhodnutie je false.
print('PYTHON 123'.isupper()) # True print('123'.isupper()) # False
str.islower(): určí, či sú všetky znaky malé
islower() vráti true, ak obsahuje aspoň jeden znak s malými písmenami a všetky sú malé, a false v opačnom prípade.
print('python'.islower()) # True print('Python'.islower()) # False
Ak je znak citlivý na veľkosť písmen, posudzujú sa aj dvojbajtové znaky.
print('python'.islower()) # True
Ak je zahrnutý čo i len jeden znak citlivý na veľkosť písmen, znak citlivý na veľkosť písmen sa ignoruje, ale ak nie je zahrnutý žiadny znak citlivý na veľkosť písmen (všetky znaky sú citlivé na veľkosť písmen), rozhodnutie je false.
print('python 123'.islower()) # True print('123'.islower()) # False
str.istitle(): Určiť, či ide o prípad title.
funkcia istitle() vráti true, ak je reťazec veľkým písmenom slova (prvé písmeno slova je veľké, ostatné sú malé), inak false.
print('Python Programming Language'.istitle()) # True print('PYTHON Programming Language'.istitle()) # False
Ak obsahuje znaky nerozlišujúce veľkosť písmen, bude false, ak pred znakmi nerozlišujúcimi veľkosť písmen stojí malé písmeno.
print('★Python Programming Language'.istitle()) # True print('Python★ Programming Language'.istitle()) # True print('Py★thon Programming Language'.istitle()) # False
Všimnite si, že reťazcov, ako je uvedený príklad, nie je veľa, ale je reálne zahrnúť čísla v poradových číslach a iných prípadoch.
print('The 1st Team'.istitle()) # False print('The 1St Team'.istitle()) # True
Ak nie sú zahrnuté žiadne znaky citlivé na veľkosť písmen (všetky znaky sú citlivé na veľkosť písmen), false.
print('123'.istitle()) # False
Porovnávanie reťazcov bez ohľadu na veľkosť písmen
Pri porovnávaní reťazcov sa rôzne veľké a malé písmená nepovažujú za rovnocenné.
s1 = 'python' s2 = 'PYTHON' print(s1 == s2) # False
Ak chcete porovnať veľké a malé písmená, môžete použiť funkciu upper() alebo lower() na ich prevod a porovnanie.
print(s1.upper() == s2.upper()) # True print(s1.lower() == s2.lower()) # True print(s1.capitalize() == s2.capitalize()) # True print(s1.title() == s2.title()) # True