Изменение заглавной буквы строки

Тип строки Python предоставляет множество функций, которые влияют на использование заглавных букв в строке. Они включают :

  • str.casefold
  • str.upper
  • str.lower
  • str.capitalize
  • str.title
  • str.swapcase

С юникод строк (по умолчанию в Python 3), эти операции не являются 1: 1 отображения или обратимым. Большинство из этих операций предназначены для отображения, а не нормализации.

str.casefold()

str.casefold создает строчную строку, которая подходит для случая нечувствительных сравнений. Это более агрессивный , чем str.lower и может изменить строки, которые уже находятся в нижнем регистре или вызывают строки , чтобы расти в длину, и не предназначена для отображения.

 "XßΣ".casefold()
# 'xssσ'

"XßΣ".lower()
# 'xßς'

 

Преобразования, которые происходят в рамках casefolding, определяются Консорциумом Unicode в файле CaseFolding.txt на их веб-сайте.

str.upper()

str.upper принимает каждый символ в строке и преобразует его в верхнем регистре эквивалента, например:

 "This is a 'string'.".upper()
# "THIS IS A 'STRING'."

 
str.lower()

str.lower делает обратное; он берет каждый символ в строке и преобразует его в строчный эквивалент:

 "This IS a 'string'.".lower()
# "this is a 'string'."

 
str.capitalize()

str.capitalize возвращает заглавную версию строки, то есть, он делает первый символ имеет верхний регистр , а остальные нижние:

 "this Is A 'String'.".capitalize() # Capitalizes the first character and lowercases all others
# "This is a 'string'."

 
str.title()

str.title возвращает название обсаженной версии строки, то есть, каждая буква в начале слова производится в верхнем регистре , а все остальные сделаны в нижнем регистре:

 "this Is a 'String'".title()
# "This Is A 'String'"

 
str.swapcase()

str.swapcase возвращает новый объект строки , в которой все строчные символы поменяны местами в верхний регистр и все символы верхнего регистра в нижний:

 "this iS A STRiNG".swapcase() #Swaps case of each character
# "THIS Is a strIng"

 
Использование в качестве str методов класса

Следует отметить , что эти методы могут быть названы либо на струнных объектов (как показано выше) или как метод класса от str класса (с явным вызовом str.upper и т.д.)

 str.upper("This is a 'string'")
# "THIS IS A 'STRING'"

 

Это особенно полезно при применении одного из этих методов для многих строк сразу, скажем, на map функции.

 map(str.upper,["These","are","some","'strings'"])
# ['THESE', 'ARE', 'SOME', "'STRINGS'"]