Описание
Строки - неизменяемые объекты. К символу в строке можно обратиться по индексу, прочитать, но не изменить.
Одинарная и двойная кавычки равнозначны.
Кавычки внутри строки можно экранировать, чтобы они не воспринимались как окончание строки
print('hello \'hello\' world')
- \ экранирование следующего символа
- \n перенос на следующую строку
- \t табуляция
- str_res = len(s) определение длины строки
Преобразование строки
- str_res = s1 + s2 конкатенация(сложение) строк
- str_res = s * 3 повторение исходной строки указанное количество раз
- str_res = s[3] чтение символа по индексу
- str_res = s.lower() делает все буквы строчными
- str_res = s.upper() делает все буквы заглавными
- str_res = s.capitalize() переводит первый символ строки в верхний регистр, остальные в нижний
- str_res = s.swapcase() переводит символы нижнего регистра в верхний, а верхнего - в нижний
- str_res = s.title() первую букву каждого слова переводит в верхний регистр, а все остальные в нижний
- str_res = s.replace('123', '456') замена 123 на 456 в строке s
- str_res = s.lstrip() удаление пробелов в начале строки
- str_res = s.rstrip() удаление пробелов в конце строки
- str_res = s.strip() удаление пробелов в начале и конце строки
- str_res = s.replace(' ', '') удаление пробелов во всей строке
- str_res = s.split(',') разбиение строки по разделителю, возвращает список
- str_res1, str_res2, str_res3 = s.split(',') разбиение строки по разделителю, значения записываются в переменные
- str_res = s.zfill(6) дополнение нулями в начале до указанного количества символов
Поиск в строке
- str_res = s.find(substring) поиск подстроки в строке, возвращает индекс первого вхождения или -1
- str_res = s.index(substring) поиск подстроки в строке, возвращает номер первого вхождения или вызывается исключение ValueError
- str_res = s.rindex(substring) поиск подстроки в строке, возвращает номер последнего вхождения или вызывается исключение ValueError
- flag_res = s.endswith(substring) поиск подстроки в конце строки, возвращает true или false
- flag_res = s.startswith(substring) поиск подстроки в начале строки, возвращает true или false
- flag_res = substring in s содержится ли подстрока в строке, возвращает true или false
Проверка строки
- Возвращают true или false
- str_res = s.isdigit() состоит ли строка из цифр
- str_res = s.isalpha() состоит ли строка из букв
- str_res = s.isalnum() состоит ли строка из цифр или букв
- str_res = s.islower() состоит ли строка из символов в нижнем регистре
- str_res = s.isupper() состоит ли строка из символов в верхнем регистре
- str_res = s.istitle() начинаются ли слова в строке с заглавной буквы
- str_res = s.isspace() состоит ли строка из неотображаемых символов (пробел, символ новой строки и т.д.)
Срезы
- s[i1:i2,step] - извлечение среза, где i1 - начало среза, i2 - окончание среза, символ с индексом i2 в срез не входит. По умолчанию, если значение не указано, первый индекс 0, а второй - длина строки. Можно задать шаг, с которым нужно извлекать срез.
- str_res = s[3:5] получение символов от 3 до 5 - 'de'
- str_res = s[2:len(s)] получение символов от 2 до конца строки - 'cdef'
- str_res = s[2:-2] получение символов без первых двух и без последних двух -- 'cd'
- str_res = s[:4] получение 4 символов от начала - 'abcd'
- str_res = s[1:] получение всех символов кроме первого - 'bcdef'
- str_res = s[::-1] получение строки в обратном порядке - 'fedcba'
- str_res = s[4:1:-1] получение символов с 4 до 1 по обратном порядке - 'edc'
- str_res = s[2::2] получение символов начиная со второго с шагом 2 - 'ce'
- str_res = s[:] получение той же самой строки - 'abcdef'
Например, s = "abcdef"
Подстановка значений в строку
- s1 и s2 - это переменные
- str_res = "value1 =" + s1 + ", value2 = " + s2 с использованием конкатенации
- str_res = "value1 = {s1}, value2 = {s2}".format(s1=s1, s2=s2) с использованием format
- str_res = f"value1 = {s1}, value2 = {s2}" с использованием f-строки (работает только начиная с версии 3.6)