Методы строк#
Методы разбиты на группы по функциональности и отсортированы по алфавиту внутри групп. Поэтому внутри групп не всегда наблюдается логическая последовательность в перечислении методов.
Преобразование регистра#
capitalize- преобразовать первую букву в верхний регистр
'großer Maßstab'.capitalize()
'Großer maßstab'
casefold- преобразовать строку в регистр, подходящий для сравнения
(В большинстве случаев выглядит как приведение к нижнему регистру. Для понимания разницы можно ознакомиться со следующим видео)
'großer Maßstab'.casefold()
'grosser massstab'
'ß'.casefold()
'ss'
lower- преобразовать строку в нижний регистр
'großer Maßstab'.lower()
'großer maßstab'
'ß'.lower()
'ß'
swapcase- поменять регистр букв
'großer Maßstab'.swapcase()
'GROSSER mASSSTAB'
title- преобразовать строку в заголовочный регистр
'großer Maßstab'.title()
'Großer Maßstab'
upper- преобразовать строку в верхний регистр
'großer Maßstab'.upper()
'GROSSER MASSSTAB'
'ß'.upper()
'SS'
Поиск в строке#
count- подсчитать количество вхождений подстроки
'großer Maßstab'.count('stab')
1
'großer Maßstab'.count('a')
2
find- найти первое вхождение подстроки
'großer Maßstab'.find('q') # если подстрока отсутсвует вернет -1
-1
index- найти первое вхождение подстроки
'großer Maßstab'.index('a') # если подстрока отсутсвует упадет с ошибкой
8
rfind- найти последнее вхождение подстроки
'großer Maßstab'.rfind('a') # если подстрока отсутсвует вернет -1
12
rindex- найти последнее вхождение подстроки
'großer Maßstab'.rindex('a') # если подстрока отсутсвует упадет с ошибкой
12
Разбиение строк#
partition- разделить строку на три подстроки по первому вхождению разделителя: подстрока слева от разделителя, разделитель, подстрока справа от разделителя
'großer Maßstab'.partition('a')
('großer M', 'a', 'ßstab')
rpartition- разделить строку на три подстроки по последнему вхождению разделителя: подстрока слева от разделителя, разделитель, подстрока справа от разделителя
'großer Maßstab'.rpartition('a')
('großer Maßst', 'a', 'b')
split- разделить строку на подстроки по разделителю (по умолчанию пробельный символ)
'großer Maßstab'.split()
['großer', 'Maßstab']
'großer Maßstab'.split('a')
['großer M', 'ßst', 'b']
'großer Maßstab'.split('a', 1) # дополнительно можно указать не больше скольки разбиений должно быть
['großer M', 'ßstab']
rsplit- разделить строку на подстроки по разделителю начиная справа (по умолчанию пробельный символ)
'großer Maßstab'.rsplit('a')
['großer M', 'ßst', 'b']
'großer Maßstab'.rsplit('a', 1)
['großer Maßst', 'b']
Обработка начала и конца строки#
center- выровнять строку по центру. Добавляет символы слева и справа (по умолчанию пробельные), увеличивая строку до нужного размера
'großer Maßstab'.center(30)
' großer Maßstab '
'großer Maßstab'.center(30, '.')
'........großer Maßstab........'
ljust- выровнять строку по левому краю. Добавляет символы справа (по умолчанию пробельные), увеличивая строку до нужного размера
'großer Maßstab'.ljust(30)
'großer Maßstab '
'großer Maßstab'.ljust(30, '.')
'großer Maßstab................'
lstrip- удалить пробельные символы в начале строки
' großer Maßstab '.lstrip()
'großer Maßstab '
'...großer Maßstab...'.lstrip('.') # можно указать, что является пробельным символом
'großer Maßstab...'
removeprefix- удалить указанный префикс из строки
'...... großer Maßstab ......'.removeprefix('...')
'... großer Maßstab ......'
removesuffix- удалить указанный суффикс из строки
'...... großer Maßstab ......'.removesuffix('...')
'...... großer Maßstab ...'
rjust- выровнять строку по правому краю. Добавляет символы слева (по умолчанию пробельные), увеличивая строку до нужного размера
'großer Maßstab'.rjust(30)
' großer Maßstab'
'großer Maßstab'.rjust(30, '.')
'................großer Maßstab'
rstrip- удалить пробельные символы в конце строки
' großer Maßstab '.rstrip()
' großer Maßstab'
'...großer Maßstab...'.rstrip('.') # можно указать, что является пробельным символом
'...großer Maßstab'
strip- удалить пробельные символы в начале и конце строки
' großer Maßstab '.strip()
'großer Maßstab'
'...... großer Maßstab ......'.strip('.') # можно указать, что является пробельным символом
' großer Maßstab '
zfill- дополнить строку нулями слева до указанной длины
"großer Maßstab".zfill(30)
'0000000000000000großer Maßstab'
Проверка характеристик строки#
endswith- проверить, заканчивается ли строка определенной подстрокой
'großer Maßstab'.endswith('stab')
True
isalnum - проверить, состоит ли строка из букв и цифр
'großer Maßstab 1:1000000'.isalnum()
False
'großerMaßstab11000000'.isalnum()
True
isalpha- проверить, состоит ли строка из букв
'großer Maßstab 1:1000000'.isalpha()
False
'Maßstab'.isalpha()
True
isascii- проверить, содержит ли строка только ASCII символы
'Maßstab'.isascii()
False
'Masshtab'.isascii()
True
isdecimal- проверить, состоит ли строка из десятичных цифр
'42'.isdecimal()
True
'\u00b2'.isdecimal() # ²
False
'\u2153'.isdecimal() # ⅓
False
isdigit- проверить, состоит ли строка из цифр
'42'.isdecimal()
True
'\u00b2'.isdecimal() # ²
False
'\u2153'.isdecimal() # ⅓
False
isidentifier- проверить, может ли строка использоваться как имя переменной
'Masshtab_1'.isidentifier()
True
'1_Masshtab'.isidentifier()
False
islower- проверить, состоит ли строка из символов в нижнем регистре
'Maßstab'.islower()
False
isnumeric- проверить, состоит ли строка из числовых символов
'42'.isdecimal()
True
'\u00b2'.isdecimal() # ²
False
'\u2153'.isdecimal() # ⅓
False
isprintable- проверить, состоит ли строка только из печатаемых символов
'Maßstab'.isprintable()
True
'\tMaßstab\t'.isprintable()
False
isspace- проверить, состоит ли строка из пробельных символов
' '.isspace()
True
'\t'.isspace()
True
istitle- проверить, является ли строка заголовочной (каждое слово начинается с заглавной буквы)
'Maßstab'.istitle()
True
isupper- проверить, состоит ли строка из символов в верхнем регистре
'Maßstab'.isupper()
False
startswith- проверить, начинается ли строка с указанной подстроки
'Maßstab'.startswith('Ma')
True
Объединение строк#
join- объединить строки из списка
# Строка становится разделитлем, аргументом передается список строк,
# который будет объединен с помощью этого разделителя
' | '.join(['x', 'y', 'z'])
'x | y | z'
Замена подстроки#
expandtabs- заменить табуляции пробелами
'\tMaßstab\t'.expandtabs(4) # можно указать сколько пробелов будем вместо табуляции
' Maßstab '
replace- заменить подстроку указанной подстрокой
'Maßstab'.replace('ß', 's')
'Masstab'
Форматирование строк#
У строк есть методы форматирования format и format_map, однако сейчас для форматирования используются f-строки
'x = {}, y = {}'.format(1, 2)
'x = 1, y = 2'
'x = {n2}, y = {n1}'.format_map({'n1': 1, 'n2': 2})
'x = 2, y = 1'
Для создания функциональной строки её нужно объявить с префиксом f
Внутри функциональной строки можно ставить {} , которые будут содержать в себе код, в том числе переменные
x, y = 1, 2
f'x = {x + 10}, y = {y - 10}'
'x = 11, y = -8'