Строковый тип Python (str) поставляется с удобными методами для работы с прописными и строчными буквами. Вы можете конвертировать между прописными и строчными буквами и определять регистр.
Здесь представлена следующая информация.
- Преобразование между прописными и строчными буквами
- Основное использование
- Работа с полноразмерными и полуразмерными символами
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 объекты строкового типа (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
Если включен хотя бы один чувствительный к регистру символ, нечувствительный к регистру символ игнорируется, но если не включен ни один чувствительный к регистру символ (все символы нечувствительны к регистру), решение будет ложным.
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
Если включен хотя бы один чувствительный к регистру символ, нечувствительный к регистру символ игнорируется, но если не включен ни один чувствительный к регистру символ (все символы нечувствительны к регистру), решение будет ложным.
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