Языки программирования

Копаем срезы в Python

В моем предыдущем уроке мы лишь частично узнали о том, что такое строки в Python, в частности о том, что в строке каждый символ имеет свой индекс. А, кроме того, как с помощью срезов манипулировать строкой. Теперь, с этой базы, можно будет продвигаться дальше в понимании срезов.

Ранее, изучая теоретическую сторону вопроса, мне это казалось запутанным и сложным. Пока на практике не убедился, что все намного проще. Итак, приступим к непосредственным действиям.

strmet1

Для начала, ничего в срезе ставить не будем: : print(string[]), в результате чего получим ошибку. Теперь следующий шаг – подставьте двоеточие: print(string[:]), теперь получится все слово. Иначе говоря, двоеточие [:] является некой границей. Но раз мы не указали ее условия, то в итоге выводится вся строка.

Займемся границей: print(string[1:]), результатом чего будет строка с индекса 1 (‘сень’). Остальные делаются аналогично.

Следующий шаг – указывание концовки границы: print(string[1:3]), что означает начало с первого, а окончание третьим индексом — ('се').

Теперь должно быть очевидным, что никаких сложностей в этом нет. На картинке ниже я добавил индексацию в обратном порядке. Это означает, что Python может такое и в том, и в другом порядке.
strmet2

Однако есть одна засада, когда придется на практике убирать из строки запятую или точку в конце. Спрашивается, как это сделать без знания в строке индекса последнего символа? Очень просто: print(string[:-1]).

Словом, тренируйтесь, штудируйте в книгах срезы, что я вам присоветовал. Я же хотел, прежде всего, разъяснить, что все возможно.

А в следующем моем уроке я буду разбирать строковые методы. Будем учиться подменам текста в строках. Например, в строке ‘Максим ездит на Nisan-е.’ произведем замену на ‘Максим ездит на Ferrari.’.