Как использовать str в python
Str Python. Строки в Python
Одним из самых распространённых типов данных является строковый. Вопреки расхожему мнению, программист чаще сталкивается не с числами, а с текстом. В Python, как известно, всё является объектами. Не исключение и строки – это объекты, состоящие из набора символов. Естественно, в языке существует широкий набор инструментов для работы с этим типом данных.
Строковые операторы
Операторы «+» и «*» в Питоне применимы не только к числам, но и к строкам.
Оператор сложения строк +
Оператор «+» выполняет операцию, называемую конкатенацией, — объединение строк.
Оператор умножения строк *
Оператор «*» дублирует строку указанное количество раз.
Это работает только с целочисленными множителями. Если умножить на ноль или отрицательное число, результатом будет пустая строка. Но лучше так не делать.
Оператор принадлежности подстроки in
Если надо проверить, содержится ли подстрока в строке, удобно пользоваться оператором “in”
Так же можно использовать этот оператор с «not» для инвертирования результата.
Встроенные функции строк в python
Пайтон содержит ряд удобных встроенных функций для работы со строками.
Функция ord() возвращает числовое значение символа, при чём, как для кодировки ASCII, так и для UNICODE.
Функция chr(n) возвращает символьное значение для данного целого числа, то есть выполняет действие обратное ord().
Функция len() возвращает количество символов в строке.
Функция str() возвращает строковое представление объекта.
Индексация строк
Строка является упорядоченной последовательностью символов. Другими словами, она состоит из символов, стоящих в определённом порядке. Благодаря этому, к символу можно обратиться по его порядковому номеру. Для этого надо указать номер символа в квадратных скобках. Нумерация начинается с нуля (0 – это первый символ).
Попытка обращения по индексу большему чем длина строки вызовет исключение IndexError:
Срезы строк
В Python существует механизм срезов коллекций. Срезы позволяют обратиться к подстроке используя индексы. Для этого надо в квадратных скобках указать: [начальный индекс : конечный индекс : шаг]. Каждый из параметров является необязательным. Поскольку строка это коллекция, срезы применимы и к ней.
Форматирование строки
В Python есть функция форматирования строки, которая официально названа литералом отформатированной строки, но обычно упоминается как f-string.
Главной особенностью этой функции является возможность подстановки значения переменной в строку.
Чтобы это сделать с помощью f-строки необходимо:
Изменение строк
Тип данных строка в Python относится к неизменяемым (immutable), но это почти не влияет на удобство их использования, ведь можно создать изменённую копию. Для этого есть два возможных пути:
Как Вы можете видеть, данный метод не меняет строку, а возвращает изменённую копию.
Встроенные методы строк в Python
Поскольку строка в Пайтон – это объект, у него есть свои методы. Методы – это те же самые функции, просто они «закреплены» за объектами определённого класса.
Изменение регистра строки
Если Вам надо изменить регистр строки, удобно использовать один из следующих методов
capitalize() переводит первую букву строки в верхний регистр, остальные в нижний.
Не алфавитные символы не изменяются:
lower() преобразует все буквенные символы в строчные.
swapcase() меняет регистр на противоположный.
title() преобразует первые буквы всех слов в заглавные
upper() преобразует все буквенные символы в заглавные.
Найти и заменить подстроку в строке
Эти методы предоставляют различные способы поиска в целевой строке указанной подстроки.
Каждый метод в этой группе поддерживает необязательные аргументы start и end. Они задают диапазон поиска: действие метода ограничено частью целевой строки, начинающейся в позиции символа start и продолжающейся вплоть до позиции символа end, но не включая его. Если start указано, а end нет, метод применяется к части строки от start до конца.
count() подсчитывает количество точных вхождений подстроки в строку.
endswith() определяет, заканчивается ли строка заданной подстрокой.
index() ищет в строке заданную подстроку.
Этот метод идентичен find(), за исключением того, что он вызывает исключение ValueError, если подстрока не найдена.
rfind() ищет в строке заданную подстроку, начиная с конца.
Возвращает индекс последнего вхождения подстроки, который соответствует её началу.
rindex() ищет в строке заданную подстроку, начиная с конца.
Этот метод идентичен rfind(), за исключением того, что он вызывает исключение ValueError, если подстрока не найдена.
startswith() определяет, начинается ли строка с заданной подстроки.
Классификация строк
Методы в этой группе классифицируют строку на основе символов, которые она содержит.
isalnum() возвращает True, если строка не пустая, а все ее символы буквенно-цифровые (либо буква, либо цифра).
isalpha() определяет, состоит ли строка только из букв.
isdigit() определяет, состоит ли строка из цифр.
isidentifier() определяет, является ли строка допустимым идентификатором (название переменной, функции, класса и т.д.) Python.
isidentifier() вернет True для строки, которая соответствует зарезервированному ключевому слову Пайтон, даже если его нельзя использовать.
Вы можете проверить, является ли строка ключевым словом Python, используя функцию iskeyword(), которая находится в модуле keyword.
Если вы действительно хотите убедиться, что строку можно использовать как идентификатор Питон, вы должны проверить, что isidentifier() = True и iskeyword() = False.
islower() определяет, являются ли буквенные символы строки строчными.
isprintable() определяет, состоит ли строка только из печатаемых символов.
Это единственный метод данной группы, который возвращает True, если строка не содержит символов. Все остальные возвращаются False.
isspace() определяет, состоит ли строка только из пробельных символов.
Тем не менее есть несколько символов ASCII, которые считаются пробелами. И если учитывать символы Юникода, их еще больше:
‘\f’ и ‘\r’ являются escape-последовательностями для символов ASCII; ‘\u2005’ это escape-последовательность для Unicode.
istitle() определяет, начинаются ли слова строки с заглавной буквы.
isupper() определяет, являются ли буквенные символы строки заглавными.
Выравнивание строк, отступы
Методы из данной группы управляют отображением строки.
center() выравнивает строку по центру.
Если указан необязательный аргумент fill, он используется как символ заполнения:
Если строка больше или равна указанной ширине, строка возвращается без изменений:
expandtabs() заменяет каждый символ табуляции (‘\t’) пробелами. По умолчанию табуляция заменяются на 8 пробелов.
tabsize необязательный параметр, задающий количество пробелов.
ljust() выравнивание по левому краю.
lstrip() удаляет переданные в качестве аргумента символы слева. По умолчанию это пробелы.
replace() заменяет вхождения подстроки в строке.
Необязательный аргумент count, указывает количество замен, которое нужно осуществить:
rjust() выравнивание по правому краю строки в поле.
rstrip() обрезает пробельные символы.
strip() удаляет символы с левого и правого края строки.
Когда возвращаемое значение метода является другой строкой, как это часто бывает, методы можно вызывать последовательно:
zfill() возвращает копию строки дополненную нулями слева для достижения длины строки указанной в параметре width:
Если строка короче или равна параметру width, строка возвращается без изменений:
Методы преобразования строки в список
Методы в данной группе превращают строку в другой тип данных и наоборот. Эти методы возвращают или принимают коллекции (чаще всего это список).
join() возвращает строку, которая является результатом конкатенации элементов коллекции и разделителя.
Стоит обратить внимание что все элементы итерируемого объекта должны быть строкового типа. Так же Вы могли заметить в последнем примере, что для объединения словаря в строку метод join() использует не значения, а ключи. Если Вам нужны именно ключи, то делается это так:
Сложнее ситуация, когда нужны пары ключ-значение. Здесь придётся сперва распаковать кортежи.
partition() делит строку на основе разделителя (действие, обратное join). Возвращаемое значение представляет собой кортеж из трех частей:
Если разделитель не найден, возвращаемый кортеж содержит строку и ещё две пустые строки:
rpartition() делит строку на основе разделителя, начиная с конца.
rsplit() делит строку на список из подстрок. По умолчанию разделителем является пробел.
split() делит строку на список из подстрок.
Ведет себя как rsplit(), за исключением того, что при указании maxsplit – максимального количества разбиений, деление начинается с левого края строки:
Если параметр maxsplit не указан, между rsplit() и split() разницы нет.
splitlines() делит текст на список строк и возвращает их в списке. Любой из следующих символов или последовательностей символов считается границей строки:
Разделитель | Значение |
\n | Новая строка |
\r | Возврат каретки |
\r\n | Возврат каретки + перевод строки |
\v или же \x0b | Таблицы строк |
\f или же \x0c | Подача формы |
\x1c | Разделитель файлов |
\x1d | Разделитель групп |
\x1e | Разделитель записей |
\x85 | Следующая строка |
\u2028 | Новая строка (Unicode) |
\u2029 | Новый абзац (Unicode) |
Заключение
В этом уроке мы рассмотрели основные инструменты для работы со строками в Python. Как видите, они удобны и гибки. Есть встроенные функции и методы объекта «строка», строковые литералы. Ещё больше возможностей даёт нерассмотренный в этом уроке метод format и модуль re. Так же отдельного разговора заслуживает работа с кодировками. Следует отметить для тех, кто уже знаком с другими языками программирования: в отличие от некоторых из них, один символ в Пайтоне тоже является строкой. И изюминка напоследок. Поскольку в Питоне всё является объектом, у каждой строки тоже есть атрибуты.
Операции с текстовыми строками str в Python
Методы и функции строк str.
Строка – это последовательность символов, то есть некоторые наборы слов. Слова могут быть как на английском языке, так и на любом другом, поддерживаемом стандартом Unicode, что означает почти на любом языке мира. По умолчанию все строки в Python-3 в Unicode.
Метод str.capitalize() в Python, первая буква в строке заглавная.
Метод str.capitalize() позволяет вернуть копию строки str с первым символом в верхнем регистре, а остальные символы будут в нижнем регистре.
Метод str.casefold() в Python, сворачивает регистр строки.
Метод str.casefold() вернет регистр свернутой копии строки str. Вернет строку, приведенную к нижнему регистру символов в результате свертывания регистра. Строки в свернутом регистре могут быть использованы для сопоставления строк без регистра.
Метод str.center() в Python, выравнивает строку по центру.
Метод str.center() позиционирует по центру строку str, дополняя её справа и слева до требуемой длины width указанным символом fillchar. По умолчанию fillchar использует пробел ASCII
Метод str.count() в Python, считает совпадения в строке.
Метод str.count() возвращает количество вхождений подстроки sub в строку str в диапазоне индексов [start, end]. Необязательные аргументы start и end интерпретируются как обозначения среза строки.
Метод str.encode() в Python, переводит строку в байты.
Метод str.encode() вернет закодированную версию строки str как объект байтов. Другими словами кодирует текстовую строку str в строку байтов, используя указанную кодировку encoding.
Метод str.endswith() в Python, совпадение с концом строки.
Метод str.endswith() возвращает True, если строка str заканчивается указанным суффиксом suffix, в противном случае возвращает False. Суффикс suffix также может быть кортежем суффиксов для поиска.
Метод str.expandtabs() в Python, меняет табуляцию на пробел.
Метод str.expandtabs() возвращает копию строки str, в которой все символы табуляции \t заменяются одним или несколькими пробелами, в зависимости от текущего столбца и заданного размера табуляции tabsize.
Метод str.find() в Python, индекс первого совпадения в строке.
Метод str.find() возвращает наименьший индекс в строке str, где подстрока или символ sub находится в пределах среза str[start:end]. Другими словами, находит и возвращает индекс начала подстроки в строке str.
Метод str.format() в Python, форматирует строку.
Метод str.format() выполняет операцию форматирования строки str. Строка str может иметь замещающие поля <>. Каждое такое поле содержит либо числовой индекс позиционного аргумента, либо имя ключевого аргумента.
Метод str.format_map() в Python
Метод str.format_map() работает аналогично str.format(**mapping), за исключением того, что mapping используется напрямую и не копируется в словарь dict. Это полезно, если, например mapping, подкласс dict.
Метод str.index() в Python, индекс первого совпадения подстроки.
Метод str.index() возвращает индекс первого совпадения подстроки sub в строке str, где подстрока или символ sub находится в пределах среза str[start:end]. Метод бросает исключение ValueError, если символ или подстрока sub не найдены.
Метод str.isalnum() в Python, строка состоит из цифр и букв.
Метод str.isalnum() возвращает True, если все символы в строке являются буквенно-цифровыми и есть хотя бы один символ, в противном случае False.
Метод str.isalpha() в Python, строка состоит только из букв.
Метод строки str.isalpha() возвращает True, если все символы в строке str являются буквенными и есть хотя бы один символ, в противном случае False.
Метод str.isascii() в Python, все символы в строке являются ASCII.
Метод str.isascii() возвращает True, если строка пуста или все символы в строке являются ASCII, False в противном случае.
Метод str.isdecimal() в Python, проверяет строку на десятичное число.
Метод str.isdecimal() возвращает True, если все символы в строке являются десятичными и есть хотя бы один символ, в противном случае False.
Метод str.isdigit() в Python, строка состоит только из цифр.
Метод str.isdigit() возвращает True, если все символы в строке являются цифрами и есть хотя бы один символ, в противном случае False.
Метод str.isidentifier() проверяет строку на идентификатор Python.
Метод str.isidentifier() возвращает True, если строка str является допустимым идентификатором в соответствии с определением языка, в противном случае False.
Метод str.islower( ) в Python, проверяет строку на нижний регистр.
Метод str.islower() возвращает True, если все символы в строке имеют нижний регистр и есть хотя бы один символ, в противном случае False.
Метод str.isnumeric() в Python, проверяет строку на числовые символы.
Метод str.isnumeric() возвращает True, если все символы в строке являются числовыми символами, и есть по крайней мере один числовой символ, False в противном случае
Метод str.isprintable() в Python, проверяет на доступность для печати.
Метод str.isprintable() возвращает True, если все символы в строке доступны для печати или строка пуста, в противном случае False.
Метод str.isspace() в Python, является ли строка пробелом.
Метод str.isspace() возвращает True, если в строке есть только пробелы и если есть хотя бы один пробел, в противном случае False.
Метод str.istitle() в Python, проверяет наличие заглавных букв в словах.
Метод str.istitle() возвращает True, если каждое слово в строке str начинается с заглавной буквы и в ней есть хотя бы один символ в верхнем регистре. Возвращает False в противном случае.
Метод str.isupper() в Python, проверяет строку на верхний регистр.
Метод str.isupper() возвращает True, если все символы в строке str прописные и есть хотя бы один символ в верхним регистре, в противном случае False.
Метод str.join() в Python, объединяет список строк.
Метод str.join() возвращает строку, которая является конкатенацией элементов объекта со строками iterable. Разделителем между элементами является строка str.
Метод str.ljust() в Python, ровняет строку по левому краю.
Метод str.ljust() вернет новую строку с текстом str, выровненным по левому краю и шириной width. Заполнение строки str выполняется с использованием указанного символа fillchar. По умолчанию используется пробел ASCII.
Метод str.lower() в Python, строку в нижний регистр.
Метод str.lower() вернет копию строки str, в которой все символы будут преобразованы в нижний регистр.
Метод str.lstrip() в Python, обрезает символы в начале строки.
Метод str.maketrans() в Python, таблица символов для str.translate().
Статический метод str.maketrans() таблицу преобразования символов, используемую для метода str.translate().
Метод str.partition() в Python, делит строку по первому совпадению.
Метод str.partition() разбивает строку при первом появлении разделителя sep и вернет кортеж, содержащий часть строки str перед разделителем, сам разделитель sep и часть строки str после разделителя.
Метод str.removeprefix() в Python, удаляет префикс строки.
Если строка str начинается со строки префикса prefix, то метод str.removeprefix() возвращает копию строки без префикса string[len(prefix):].
Метод str.removesuffix() в Python, удаляет суффикс строки.
Если исходная строка str заканчивается строкой суффикса suffix, то метод str.removesuffix() возвращает копию строки без суффикса string[:-len(suffix)].
Метод str.replace() в Python, меняет подстроку/символ в строке.
Метод str.replace() вернет копию строки, в которой все вхождения подстроки old заменены на подстроку new.
Метод str.rfind() в Python, индекс последнего совпадения подстроки.
Метод str.rfind() возвращает индекс последнего совпадения подстроки sub в строке str, где подстрока или символ sub находится в пределах среза str[start:end].
Метод str.rindex() в Python, индекс последнего совпадения в строке.
Метод str.rindex() возвращает индекс последнего совпадения подстроки sub в строке str, где подстрока или символ sub находится в пределах среза str[start:end]. Метод бросает исключение ValueError, если символ или подстрока sub не найдены
Метод str.rjust() в Python, ровняет строку по правому краю.
Метод str.rjust() вернет новую строку с текстом str, выровненным по правому краю и шириной width.
Метод str.rpartition() в Python, делит строку по последнему совпадению.
Метод str.rpartition() разбивает строку при последнем появлении разделителя sep и вернет кортеж, содержащий часть строки str перед разделителем, сам разделитель sep и часть строки str после разделителя.
Метод str.rsplit() в Python, делит строку с права.
Метод str.rsplit() возвращает список подстрок (слов) из строки str, используя разделитель sep в качестве разделителя строки str. Метод str.rsplit() деление строки начинает с права.
Метод str.rstrip() в Python, обрезает символы на конце строки.
Метод str.split() в Python, делит строку по подстроке.
Метод str.split() возвращает список слов в строке, используя sep в качестве разделителя строки. Если задан maxsplit, то выполняется не более maxsplit разбиений, таким образом, список будет иметь не более maxsplit+1 элементов.
Метод str.splitlines() в Python, делит текст по символу ‘\n’.
Метод str.splitlines() возвращает список строк, текста str, разделенного по универсальным разрывам строк. Разрывы (разделители) строк не включаются в результирующий список, если не задано значение keepends=True.
Метод str.startswith() в Python, совпадение с началом строки.
Метод str.startswith() возвращает True, если строка str начинается указанным префиксом prefix, в противном случае возвращает False. Ограничивать поиск начала строки можно необязательными индексами start и end.
Метод str.strip() в Python, обрежет строку с обоих концов.
Метод str.swapcase() в Python, сменит регистр символов в строке.
Метод str.swapcase() возвращает копию строки с прописными символами, преобразованными в строчные и наоборот. Другими словами метод меняет регистр символов в строке str.
Метод str.title() в Python, каждое слово с заглавной буквы.
Метод str.title() возвращает копию строки, в которой у каждого слова, первый символ имеет верхний регистр, а остальные символы слова переводятся в нижний регистр.
Метод str.translate() в Python, транслирование строки.
Метод str.translate() возвращает копию строки, в которой каждый символ был сопоставлен и преобразован согласно карте перевода символов table.
Метод str.upper() в Python, переведет строку в верхний регистр.
Метод str.upper() вернет копию строки str с символами, преобразованными в верхний регистр. Используемый алгоритм преобразования в верхний регистр описан в разделе 3.13 стандарта Unicode.
Метод str.zfill() в Python, дополнит строку нулями.
Метод str.zfill() вернет копию строки, у которой начало строки будет заполнено цифрой ASCII 0, до указанной длины width. Начальный префикс знака ‘+’ / ‘-‘ обрабатывается путем вставки отступа после символа знака, а не до него.
Форматирование строк в стиле printf в Python.
Строки имеют одну уникальную встроенную операцию: оператор %. При заданном формате ‘string’ % values, спецификации преобразований в string заменяются на ноль или более элементов значений. Эффект аналогичен использованию sprintf() в языке C.
F-строки. Форматированные строки в Python.
Обработка строк в Python
В Python существуют несколько видов данных. Основные типы данных, с которыми вы столкнетесь – это string, ingteger, float, list, dict и tuple. В данной статье мы рассмотрим тип данных string (строка). Вы удивитесь тому, сколько всего можно делать со строками в Python. Также существует модуль string, который можно импортировать для получения доступа к еще большим возможностям, но мы рассмотрим его в другой статье. Вместо этого, мы пройдемся по следующим разделам:
Как создать строку
Строки всегда создаются одним из трех способов. Вы можете использовать одинарные, двойные и тройные скобки. Давайте посмотрим
Строка с тремя скобками может быть создана с использованием трех одинарных скобок или трех двойных скобок. Так или иначе, с их помощью программист может писать строки в нескольких линиях. Если вы впишете это, вы увидите, что выдача сохраняет разрыв строк. Если вам нужно использовать одинарные скобки в вашей строке, то впишите двойные скобки. Давайте посмотрим на пример:
Данный код демонстрирует то, как вы можете вписать одинарные или двойные скобки в строку. Существует еще один способ создания строки, при помощи метода str. Как это работает:
Если вы впишете данный код в ваш интерпретатор, вы увидите, что вы изменили значение интегратора на строку и присвоили ее переменной my_string. Это называется кастинг, или конвертирование. Вы можете конвертировать некоторые типы данных в другие, например числа в строки. Но вы также заметите, что вы не всегда можете делать обратное, например, конвертировать строку вроде ‘ABC’ в целое число. Если вы сделаете это, то получите ошибку вроде той, что указана в этом примере:
Мы рассмотрели обработку исключений в другой статье, но как вы могли догадаться из сообщения, это значит, что вы не можете конвертировать сроки в цифры. Тем не менее, если вы вписали:
То все должно работать. Обратите внимание на то, что строка – это один из неизменных типов Python. Это значит, что вы не можете менять содержимое строки после ее создания. Давайте попробуем сделать это и посмотрим, что получится:
Здесь мы пытаемся изменить первую букву с «а» на «d«, в итоге это привело к ошибке TypeError, которая не дает нам сделать это. Теперь вы можете подумать, что присвоение новой строке то же значение и есть изменение строки. Давайте взглянем, правда ли это:
Проверив id объекта, мы можем определить, что когда мы присваиваем новое значение переменной, то это меняет тождество. Обратите внимание, что в версии Python, начиная с 2.0, строки могут содержать только символы ASCII. Если вам нужен Unicode, тогда вы должны вписывать u перед вашей строкой. Пример:
В Python, начиная с версии 3, все строки являются юникодом.
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Telegram Чат & Канал
Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!
Паблик VK
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
Конкатенация строк
Конкатенация – это важный момент, это означает соединение или добавление двух объектов вместе. В нашем случае, нам нужно узнать, как добавить две строки вместе. Как вы можете догадаться, в Python эта операция очень простая:
Оператор + конкатенирует две строки в одну
Методы строк
Строка является объектом в Python. Фактически, все, что есть в Python – является объектом. Если вы хотите узнать больше об Объектно-ориентированном программирование, мы рассмотрим это в другой статье «Классы в Python«. В данный момент достаточно знать, что строки содержат собственные встроенные методы. Например, допустим, у вас есть следующая строка:
Теперь вам нужно сделать так, чтобы вся эта строка была в верхнем регистре. Чтобы сделать это, все, что вам нужно, это вызвать метод upper(), вот так:
Если вы открыли ваш интерпретатор, вы также можете сделать то же самое:
Существует великое множество других методов строк. Например, если вам нужно, что бы все было в нижнем регистре, вам нужно использовать метод lower(). Если вы хотите удалить все начальные и конечные пробелы, вам понадобится метод strip(). Для получения списка всех методов строк, впишите следующую команду в ваш интерпретатор:
Вы увидите что-то на подобие этого:
Вы можете спокойно игнорировать методы, которые начинаются и заканчиваются двойным подчеркиванием, например __add__. Они не используются в ежедневном программировании в Python. Лучше обратите внимание на другие. Если вы хотите узнать, что делает тот или иной метод, просто обратитесь к справке. Например, если вы хотите узнать, зачем вам capitalize, впишите следующее, чтобы узнать:
Вы получите следующую информацию:
Вы только что узнали кое-что о разделе, под названием интроспекция. Python может исследовать все свои объекты, что делает его очень легким в использовании. В основном, интроспекция позволяет вам спрашивать Python о нём. Вам моет быть интересно, как сказать о том, какой тип переменной был использован (другими словами int или string). Вы можете спросить об этом у Python!
Как вы видите, тип переменной my_string является str!
Нарезка строк
Одной из тем, которую вы часто будете делать на практике, является нарезка строк. Помню, меня удивило то, как часто мне нужно было узнать, как это делается в повседневной работе. Давайте посмотрим, как нарезка сработает в следующей строке:
Каждый символ в строке может стать доступным при помощи слайсинга (нарезки). Например, если вам нужно взять только первый символ, вы можете сделать это следующим образом:
Таким образом, мы берем первый символ в строке до второго символа, но, не включая его. Да, в Python отсчет ведется с нуля. Это проще понять, если мы определим позицию каждого символа в таблице:
Таким образом, у нас есть строка длиной в 14 символов, начиная с нуля и до тринадцати. Давайте приведем несколько примеров, чтобы понять это лучше.
Как видно в данных примерах, мы можем назначить срез, лишь указав его начало (другими словами, my_string[2:]), конец среза (my_string[:1]), или оба (my_string[0:13]). Мы можем даже использовать отрицательные значения, которые начинаются с конца строки. Так что в примере, где мы указали my_string[0:-5], начало ведется с нуля и заканчивается 5 символами, перед концом строки. Вы можете задаться вопросом «Зачем мне это и где это можно применить?». Лично я использовал это для разбора записей с фиксированной шириной в файлах, или ситуативно для парсинга сложных названий файлов, с очень специфическими наименованиями. Также я использовал это для парсинга значений в бинарных файлах. Любая работа, которая включает в себя обработку текстовых файлов, может быть намного проще, если вы понимаете, как работает нарезка и как эффективно использовать данный инструмент. Вы также можете получить доступ к отдельным символам в строке с помощью индексации. Например: