Типът string (str) на Python е снабден с удобни методи за работа с главни и малки букви. Можете да конвертирате между главни и малки букви и да определяте размера на буквите.
Тук се предоставя следната информация.
- Преобразуване на главни и малки букви
- Основно използване
- Работа с пълноразмерни и полуразмерни символи
str.upper()
Преобразуване на всички букви в главниstr.lower()
Преобразуване на всички букви в малкиstr.capitalize()
Преобразувайте първата буква в главна, а останалите в малка.str.title()
Преобразувайте първата буква на дадена дума в главна, а останалите в малка.str.swapcase()
Преобразувайте главни букви в малки и малки букви в главни.
- Определяне на главни и малки букви
str.isupper()
: Определете дали всички букви са главниstr.islower()
: Определете дали всички знаци са малки букви.str.istitle()
: Определете дали става въпрос за заглавие.
- Сравняване на низове по начин, при който не се отчитат големи и малки букви
- Преобразуване на главни и малки букви
- Основно използване
- Работа с пълноразмерни и полуразмерни символи
- str.upper(): преобразува всички букви в главни
- str.lower(): преобразува всички символи в малки букви
- str.capitalize(): преобразува първата буква в главна, а останалите в малка
- str.title(): преобразува първата буква на думата в главна, а останалите в малка
- str.swapcase(): преобразува главни букви в малки, малки в главни
- Определяне на главни и малки букви
- Сравняване на низове по начин, при който не се отчитат големи и малки букви
Преобразуване на главни и малки букви
Основно използване
Първо ще обясня основната употреба. Като пример ще използваме метода upper() за изписване на всички главни букви, но същото важи и за други методи.
За удобство пишем „преобразуване“, но в Python обектите от тип string (str) не могат да се обновяват, така че самият оригинален низ (s_org в примера) не се променя.
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE print(s_org) # pYThon proGramminG laNguAge
Ако искате да използвате преобразувания низ по-късно, можете да го съхраните в нова променлива по следния начин.
s_new = s_org.upper() print(s_new) # PYTHON PROGRAMMING LANGUAGE
Възможно е също така да се презапише оригиналната променлива.
s_org = s_org.upper() print(s_org) # PYTHON PROGRAMMING LANGUAGE
Работа с пълноразмерни и полуразмерни символи
Ако даден символ е чувствителен към големи и малки букви, като например азбуката, той ще бъде конвертиран както в еднобайтови, така и в двубайтови символи.
Символите, които не са чувствителни към големи и малки букви, като например числата и китайските символи, остават непроменени. Примерът е за upper(), но същото важи и за други методи.
s_org = 'Pyhon Python 123' print(s_org.upper()) # PYHON PYTHON 123
str.upper(): преобразува всички букви в главни
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE
str.lower(): преобразува всички символи в малки букви
s_org = 'pYThon proGramminG laNguAge' print(s_org.lower()) # python programming language
str.capitalize(): преобразува първата буква в главна, а останалите в малка
s_org = 'pYThon proGramminG laNguAge' print(s_org.capitalize()) # Python programming language
str.title(): преобразува първата буква на думата в главна, а останалите в малка
Преобразуване в т.нар. дело за собственост.
s_org = 'pYThon proGramminG laNguAge' print(s_org.title()) # Python Programming Language
str.swapcase(): преобразува главни букви в малки, малки в главни
Разменяйте главни и малки букви.
s_org = 'pYThon proGramminG laNguAge' print(s_org.swapcase()) # PytHON PROgRAMMINg LAnGUaGE
Определяне на главни и малки букви
В следващите примери методите се извикват директно от символни низове, като например 'python', но същото важи и при съхраняването им в променливи, както в предишните примери.
str.isupper(): определя дали всички букви са главни
isupper() връща true, ако съдържа поне един знак, чувствителен към големи букви, и всички те са главни, и false в противен случай.
print('PYTHON'.isupper()) # True print('Python'.isupper()) # False
Ако символът е чувствителен към големи и малки букви, се преценяват дори двубайтови символи.
print('PYTHON'.isupper()) # True
Ако е включен дори един чувствителен на малки и големи букви символ, нечувствителният на големи и малки букви символ се пренебрегва, но ако не е включен нито един чувствителен на големи и малки букви символ (всички символи са нечувствителни на големи и малки букви), решението е false.
print('PYTHON 123'.isupper()) # True print('123'.isupper()) # False
str.islower(): определя дали всички символи са малки букви
islower() връща true, ако съдържа поне един знак с малки букви и всички те са малки, и false в противен случай.
print('python'.islower()) # True print('Python'.islower()) # False
Ако символът е чувствителен към големи и малки букви, се преценяват дори двубайтови символи.
print('python'.islower()) # True
Ако е включен дори един чувствителен на малки и големи букви символ, нечувствителният на големи и малки букви символ се пренебрегва, но ако не е включен нито един чувствителен на големи и малки букви символ (всички символи са нечувствителни на големи и малки букви), решението е false.
print('python 123'.islower()) # True print('123'.islower()) # False
str.istitle(): Определя дали случаят е заглавен.
istitle() връща true, ако низът е заглавие (първата буква на думата е главна, а останалите са малки), false в противен случай.
print('Python Programming Language'.istitle()) # True print('PYTHON Programming Language'.istitle()) # False
Ако съдържа знаци, нечувствителни към големи и малки букви, ще бъде false, ако знаците, нечувствителни към големи и малки букви, са предшествани от малка буква.
print('★Python Programming Language'.istitle()) # True print('Python★ Programming Language'.istitle()) # True print('Py★thon Programming Language'.istitle()) # False
Обърнете внимание, че няма много низове като горния пример, но е реалистично да се включат числа в редици и други случаи.
print('The 1st Team'.istitle()) # False print('The 1St Team'.istitle()) # True
Ако не са включени знаци, чувствителни към големи и малки букви (всички знаци са безразлични към големи и малки букви), false.
print('123'.istitle()) # False
Сравняване на низове по начин, при който не се отчитат големи и малки букви
При сравняване на низове различните главни и малки букви не се считат за еквивалентни.
s1 = 'python' s2 = 'PYTHON' print(s1 == s2) # False
Ако искате да направите сравнение без значение на големите и малките букви, можете да използвате upper() или lower(), за да преобразувате двата символа и да ги сравните.
print(s1.upper() == s2.upper()) # True print(s1.lower() == s2.lower()) # True print(s1.capitalize() == s2.capitalize()) # True print(s1.title() == s2.title()) # True