===== Таблица "Функции и методы строк" =====
~~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)