Методы строк#

Методы разбиты на группы по функциональности и отсортированы по алфавиту внутри групп. Поэтому внутри групп не всегда наблюдается логическая последовательность в перечислении методов.

Преобразование регистра#

  • 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'