Typ łańcuchowy Pythona (str) jest standardowo wyposażony w wygodne metody do manipulowania wielkimi i małymi literami. Można konwertować pomiędzy wielkimi i małymi literami oraz określać wielkość liter.
Podane są tu następujące informacje.
- Konwersja między wielkimi i małymi literami
- Podstawowe zastosowanie
- Obsługa znaków pełnowymiarowych i półpełnowymiarowych
str.upper()
Zamień wszystkie litery na wielkie.str.lower()
Zamień wszystkie litery na małe.str.capitalize()
Zamień pierwszą literę na wielką, a pozostałe na małą.str.title()
Zamień pierwszą literę w wyrazie na wielką, a pozostałe na małą.str.swapcase()
Konwertuj duże litery na małe i małe litery na duże.
- Określanie wielkich i małych liter
str.isupper()
: Określ, czy wszystkie litery są wielkiestr.islower()
: Określ, czy wszystkie znaki są małymi literami.str.istitle()
: Określ, czy jest to sprawa tytułu.
- Porównaj łańcuchy w sposób niewrażliwy na wielkość liter.
- Konwersja między wielkimi i małymi literami
- Podstawowe zastosowanie
- Obsługa znaków pełnowymiarowych i półpełnowymiarowych
- str.upper(): zamienia wszystkie litery na duże
- str.lower(): zamień wszystkie znaki na małe litery
- str.capitalize(): zamienia pierwszą literę na wielką, resztę na małą
- str.title(): konwertuje pierwszą literę słowa na wielką, a resztę na małą
- str.swapcase(): zamień wielkie litery na małe, małe na wielkie
- Określanie wielkich i małych liter
- Porównaj łańcuchy w sposób niewrażliwy na wielkość liter.
Konwersja między wielkimi i małymi literami
Podstawowe zastosowanie
Po pierwsze, wyjaśnię podstawowe zastosowanie. Jako przykładu użyjemy metody upper() do kapitalizacji wszystkich liter, ale to samo odnosi się do innych metod.
Dla wygody piszemy „konwersja”, ale w Pythonie obiekty typu string (str) nie są aktualizowalne, więc sam oryginalny string (s_org w przykładzie) nie jest zmieniany.
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE print(s_org) # pYThon proGramminG laNguAge
Jeśli chcesz użyć skonwertowanego łańcucha później, możesz przechowywać go w nowej zmiennej w następujący sposób.
s_new = s_org.upper() print(s_new) # PYTHON PROGRAMMING LANGUAGE
Możliwe jest również nadpisanie oryginalnej zmiennej.
s_org = s_org.upper() print(s_org) # PYTHON PROGRAMMING LANGUAGE
Obsługa znaków pełnowymiarowych i półpełnowymiarowych
Jeśli znak rozróżnia wielkość liter, jak np. alfabet, to zostanie on przekonwertowany na znaki jedno- i dwubajtowe.
Znaki, w których wielkość liter nie jest rozróżniana, takie jak cyfry i znaki chińskie, pozostają niezmienione. Przykład dotyczy metody upper(), ale to samo odnosi się do innych metod.
s_org = 'Pyhon Python 123' print(s_org.upper()) # PYHON PYTHON 123
str.upper(): zamienia wszystkie litery na duże
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE
str.lower(): zamień wszystkie znaki na małe litery
s_org = 'pYThon proGramminG laNguAge' print(s_org.lower()) # python programming language
str.capitalize(): zamienia pierwszą literę na wielką, resztę na małą
s_org = 'pYThon proGramminG laNguAge' print(s_org.capitalize()) # Python programming language
str.title(): konwertuje pierwszą literę słowa na wielką, a resztę na małą
Konwersja do tzw. sprawy tytułowej.
s_org = 'pYThon proGramminG laNguAge' print(s_org.title()) # Python Programming Language
str.swapcase(): zamień wielkie litery na małe, małe na wielkie
Zamień duże i małe litery.
s_org = 'pYThon proGramminG laNguAge' print(s_org.swapcase()) # PytHON PROgRAMMINg LAnGUaGE
Określanie wielkich i małych liter
W poniższych przykładach metody są wywoływane bezpośrednio z literałów łańcuchowych, takich jak 'python', ale to samo jest prawdziwe, gdy są przechowywane w zmiennych, jak w poprzednich przykładach.
str.isupper(): określa czy wszystkie litery są wielkie
isupper() zwraca prawdę, jeśli zawiera co najmniej jeden znak wielkości liter i wszystkie z nich są wielkie, a fałsz w przeciwnym przypadku.
print('PYTHON'.isupper()) # True print('Python'.isupper()) # False
Jeśli wielkość liter ma znaczenie, to oceniane są nawet znaki dwubajtowe.
print('PYTHON'.isupper()) # True
Jeśli dołączony jest choćby jeden znak rozróżniający wielkość liter, to znak rozróżniający wielkość liter jest ignorowany, ale jeśli nie dołączono żadnego znaku rozróżniającego wielkość liter (wszystkie znaki rozróżniają wielkość liter), to decyzją jest fałsz.
print('PYTHON 123'.isupper()) # True print('123'.isupper()) # False
str.islower(): określa czy wszystkie znaki są małymi literami
islower() zwraca prawdę, jeśli zawiera co najmniej jeden znak wielkości liter i wszystkie z nich są małe, a fałsz w przeciwnym przypadku.
print('python'.islower()) # True print('Python'.islower()) # False
Jeśli wielkość liter ma znaczenie, to oceniane są nawet znaki dwubajtowe.
print('python'.islower()) # True
Jeśli dołączony jest choćby jeden znak rozróżniający wielkość liter, to znak rozróżniający wielkość liter jest ignorowany, ale jeśli nie dołączono żadnego znaku rozróżniającego wielkość liter (wszystkie znaki rozróżniają wielkość liter), to decyzją jest fałsz.
print('python 123'.islower()) # True print('123'.islower()) # False
str.istitle(): Określ, czy dany przypadek jest przypadkiem tytułowym.
istitle() zwraca true jeśli łańcuch jest przypadkiem tytułu (pierwsza litera słowa jest wielka, reszta mała), false w przeciwnym wypadku.
print('Python Programming Language'.istitle()) # True print('PYTHON Programming Language'.istitle()) # False
Jeśli zawiera ona znaki rozróżniające wielkość liter, to będzie fałszywa, jeśli znaki rozróżniające wielkość liter są poprzedzone małą literą.
print('★Python Programming Language'.istitle()) # True print('Python★ Programming Language'.istitle()) # True print('Py★thon Programming Language'.istitle()) # False
Zauważ, że nie ma wielu ciągów takich jak w powyższym przykładzie, ale realistyczne jest uwzględnienie liczb w liczbach porządkowych i innych przypadkach.
print('The 1st Team'.istitle()) # False print('The 1St Team'.istitle()) # True
Jeśli nie są uwzględnione żadne znaki rozróżniające wielkość liter (wszystkie znaki nie rozróżniają wielkości liter), false.
print('123'.istitle()) # False
Porównaj łańcuchy w sposób niewrażliwy na wielkość liter.
Podczas porównywania ciągów znaków, różne wielkie i małe litery nie są uważane za równoważne.
s1 = 'python' s2 = 'PYTHON' print(s1 == s2) # False
Jeśli chcesz dokonać porównania bez uwzględniania wielkości liter, możesz użyć upper() lub lower(), aby przekonwertować te dwie wartości i porównać je.
print(s1.upper() == s2.upper()) # True print(s1.lower() == s2.lower()) # True print(s1.capitalize() == s2.capitalize()) # True print(s1.title() == s2.title()) # True