===== Таблица "Функции и методы строк" ===== ~~COL:2~~ , Функция или метод , Назначение , S = 'str'; S = "str"; S = '''str'''; 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(шаблон, замена) , Замена шаблона , S.split(символ) , Разбиение строки по разделителю , S.isdigit() , Состоит ли строка из цифр , S.isalpha() , Состоит ли строка из букв , S.isalnum() , Состоит ли строка из цифр или букв , S.islower() , Состоит ли строка из символов в нижнем регистре , S.isupper() , Состоит ли строка из символов в верхнем регистре , S.isspace() , Состоит ли строка из неотображаемых символов (пробел, символ перевода страницы ('\f'), "новая строка" ('\n'), "перевод каретки" ('\r'), "горизонтальная табуляция" ('\t') и "вертикальная табуляция" ('\v')) , S.istitle() , Начинаются ли слова в строке с заглавной буквы , S.upper() , Преобразование строки к верхнему регистру , S.lower() , Преобразование строки к нижнему регистру , S.startswith(str) , Начинается ли строка S с шаблона str , S.endswith(str) , Заканчивается ли строка S шаблоном str , S.join(список) , Сборка строки из списка с разделителем S , ord(символ) , Символ в его код ASCII , chr(число) , Код ASCII в символ , S.capitalize() , Переводит первый символ строки в верхний регистр, а все остальные в нижний , S.center(width, [fill]) , Возвращает отцентрованную строку, по краям которой стоит символ fill (пробел по умолчанию) , S.count(str, [start],[end]) , Возвращает количество непересекающихся вхождений подстроки в диапазоне [начало, конец] (0 и длина строки по умолчанию) , S.expandtabs([tabsize]) , Возвращает копию строки, в которой все символы табуляции заменяются одним или несколькими пробелами, в зависимости от текущего столбца. Если TabSize не указан, размер табуляции полагается равным 8 пробелам , S.lstrip([chars]) , Удаление пробельных символов в начале строки , S.rstrip([chars]) , Удаление пробельных символов в конце строки , S.strip([chars]) , Удаление пробельных символов в начале и в конце строки , S.partition(шаблон) , Возвращает кортеж, содержащий часть перед первым шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий саму строку, а затем две пустых строки , S.rpartition(sep) , Возвращает кортеж, содержащий часть перед последним шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий две пустых строки, а затем саму строку , S.swapcase() , Переводит символы нижнего регистра в верхний, а верхнего – в нижний , S.title() , Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний , S.zfill(width) , Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями , S.ljust(width, fillchar=" ") , Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar , S.rjust(width, fillchar=" ") , Делает длину строки не меньшей width, по необходимости заполняя первые символы символом fillchar , S.format(*args, **kwargs) , Форматирование строки ====Примеры==== ==len== s = 'hello' print(len(s)) #5 - 5 символов ==capitalize== Вернем в верхнем регистре только первую букву s = 'HELLO' print(s.capitalize()) #Hello ==center== центрировать шириной 20 символов s = 'center' print(s.center(20)) #' center ' ==count== колличество символов(!) в строке s = 'hello world!!!' print(s.count('!')) #3 - колличество символов(!) в строке, print(s.count('l')) #3 print(s.count('z')) #0 print(s.count('l', 0, 3)) #1 с диапазонм подстроки 0-3 ==find и index== ищем вхождение подстроки s = 'hello world!!!' print(s.find('w')) #6 - ищем вхождение подстроки print(s.index('w')) #6 - аналог метода find, отличие возникает если метод не может найти подстроку. Во втором случае метод выкидывает ошибку ==replace== замена подстроки s = 'hello world!!!' print(s.replace('l', 'a')) #heaao worad!!! ==split== Делить строку на подстроки s = 'hello, world!!!' print(s.split()) #['hello', 'world!!!'] по умолчанию делит по пробелу print(s.split('l')) #['hello, ', 'orld!!!'] ==Валидация строк== s = 'hello, world!!!' s.isdigit() #сотоит ли строка из цифр, bool s.isalpha() #состоит ли строка из букв, bool s.isalnum() #состоит ли строка из цифр или букв, bool s.islower() #состоит ли строка из символов в нижнем регистре, bool s.isupper() #состоит ли строка из символов в верхнем регистре, bool ==Берём срез строки== (start, stop[, step])-> :: start=None : Начальный индекс среза. Если не указан, используется индекс первого элемента «разрезаемого» объекта — `0`. stop : Конечный индекс. Если не указан, используется индекс последнего элемента «разрезаемого» объекта. step=None : Шаг выборки. Отрицательное значение позволяет строить срез из элементов в обратном порядке. # «Берём срез строки» или # «Создаем объект среза и применяем к строке» 'самоходка'[4:1:-1] # 'хом' str = 'Hello wolrd' print(str[::-1])#Обратный шаг #drlow olleH ==Возвращает строку, собранную из элементов указанного объекта== Возвращает строку, собранную из элементов указанного объекта, поддерживающего итерирование. str.join(iterable) -> str iterable : Объект со строками, поддерживающий итерирование. В качестве соединительного элемента между указанными элементами используется объект строки, у которого и вызывается данный метод. dots = '..' my_str = dots.join(['1', '2']) # '1..2' my_str = dots.join('ab') # 'a..b' Использование функции map l = list(range(1, 10)) l2 = list('hello') print(l) #Для массовой обработки спиков необходимо использовать функцию map s = '-'.join(map(str, l)) print(s) s = ','.join(l2) print(s)