При вызове методов необходимо помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку. Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной.
Основные методы строк, которые применяются в приложениях:
Таблица "Функции и методы строк"
Функция или метод | Назначение |
---|---|
S = 'str'; |
Литералы строк |
S = "s\np\ta\nbbb" |
Экранированные последовательности |
S = r"C:\temp\new" |
Неформатированные строки (подавляют экранирование) |
S = b"byte" |
Строка байтов |
S1 + S2 |
Конкатенация (сложение строк) |
S1 * 3 |
Повторение строки |
S[i] |
Обращение по индексу |
S[i:j:step] |
Извлечение среза |
len(S) |
Длина строки |
S.find(str[, start[, end]) |
Поиск подстроки в строке. Возвращает номер первого вхождения (индекс подстроки в строке) или -1 |
S.rfind(str[, start[, end]) | Поиск подстроки в строке. Возвращает номер последнего вхождения или -1 |
S.index(str[, start[, end]) |
Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError |
S.rindex(str[, start[, end]) |
Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError |
S.replace(old, new[, num]) |
Заменяет в строке S одну подстроку (old) на другую (new) num раз. Если num не указано, то заменить все вхождения old на new. Если num = 1, то заменить первое вхождение old на new. Если num = 3 - заменить первые 3 вхождения old на new. |
S.split([delimeter[, num]]) |
разбивает строку на подстроки в зависимости от разделителя |
S.join(список) |
объединяет строки в одну строку, вставляя между ними определенный разделитель S |
S.capitalize() |
Переводит первый символ строки в верхний регистр, а все остальные в нижний |
S.upper() | переводит строку в вехний регистр |
S.lower() |
переводит строку в нижний регистр |
S.casefold() |
переводит строку в нижний регистр (полное описание для чего он см. в i-net-е) |
S.title() |
начальные символы всех слов в строке переводятся в верхний регистр |
S.istitle() | Возвращает True, если ВСЕ слова в строке начинаются с заглавной буквы |
S.isdigit() |
возвращает True, если все символы строки - цифры |
S.isnumeric() |
возвращает True, если строка представляет собой число |
S.isalpha() |
возвращает True, если строка состоит только из алфавитных символов |
S.isalnum() |
Состоит ли строка из цифр или букв |
S.islower() | возвращает True, если строка состоит только из символов в нижнем регистре. Знаки препинания и цифры дают True. |
S.isupper() | возвращает True, если все символы строки в верхнем регистре. Знаки препинания и цифры дают True. |
S.isspace() | Состоит ли строка из неотображаемых символов (пробел, символ перевода страницы ('\f'), "новая строка" ('\n'), "перевод каретки" ('\r'), "горизонтальная табуляция" ('\t') и "вертикальная табуляция" ('\v')) |
S.contains(str[, start[, end]) |
содержится в строке |
S.startswith(str) |
Возвращает True, если строка начинается с подстроки str |
S.endswith(str) |
Возвращает True, если строка заканчивается на подстроку str |
ord(символ) |
Символ в его код ASCII |
chr(число) | Код ASCII в символ |
S.center(width, [fill]) |
если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру |
S.count(str, [start],[end]) |
Возвращает количество непересекающихся вхождений подстроки в диапазоне [начало, конец] (0 и длина строки по умолчанию) |
S.expandtabs([tabsize]) |
Возвращает копию строки, в которой все символы табуляции заменяются одним или несколькими пробелами, в зависимости от текущего столбца. Если TabSize не указан, размер табуляции полагается равным 8 пробелам |
S.lstrip([chars]) |
удаляет начальные пробелы из строки |
S.rstrip([chars]) |
удаляет конечные пробелы из строки |
S.strip([chars]) |
удаляет начальные и конечные пробелы из строки (удаление пробельных символов в начале и в конце строки). В параметре chars можно перечислить символы в любом порядке, которые следует удалить - удаляется символ, который присутствует в chars. |
S.partition(шаблон) |
Возвращает кортеж, содержащий часть перед первым шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий саму строку, а затем две пустых строки |
S.rpartition(sep) |
Возвращает кортеж, содержащий часть перед последним шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий две пустых строки, а затем саму строку |
S.swapcase() |
Переводит символы нижнего регистра в верхний, а верхнего - в нижний |
S.title() |
Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний |
S.zfill(width) |
Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями |
S.ljust(width, fillchar=" ") |
если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю |
S.rjust(width, fillchar=" ") |
если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю |
S.format(*args, **kwargs) |
Форматирование строки |
Алфавит:
import string s1 = string.ascii_lowercase s2 = string.ascii_uppercase print(s1, s2, sep='\n') # abcdefghijklmnopqrstuvwxyz # ABCDEFGHIJKLMNOPQRSTUVWXYZ