Рядковий тип 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() повертає істину, якщо містить принаймні один символ, чутливий до регістру, і всі вони мають нижній регістр, і 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
Якщо він містить символи, не чутливі до регістру, він буде хибним, якщо перед символами без урахування регістру буде мала літера.
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