Срез (slice) - это часть строки (ну или сегмент строки). Чтобы получить отдельный символ строки можно сделать так:
hello = "Привет, МИР!!!"
print(hello[0])
Здесь мы получили и вывели на экран первую букву из строки hello (у нас это буква “П”). Срез, то есть часть строки, можно получить похожим образом:
print(hello[0:6])
Здесь мы вывели слово “Привет” - часть строки из первых шести символов. Но почему мы указали диапазон 0:6? Ведь это 7 символов.
Оказывается, что разработчики Python не сильно заморачивались с интуитивно-понятным синтаксисом. Поэтому инструкция [n:m] возвращает часть строки начиная с n-го символа и заканчивая m-ным. Однако первый символ включается в результат, а последний почему-то нет (но художник так видит))).
Как я уже сказал, такое поведение не соответствует интуитивному пониманию, но может помочь представить, что индексы указывают на промежутки между символами, а не на символы:
Если вы не укажете первый индекс перед двоеточием, то срез будет начинаться с начала строки. То есть предыдущий пример можно записать так:
print(hello[:6])
Ещё примеры:
print(hello[8:11])# Выводим слово МИР
print(hello[8:]) # Выводим МИР!!!
Если первый индекс больше или равен второму, то результатом будет пустая строка. Вот этот код ничего не выведет:
print(hello[4:4])
print(hello[5:4])
Ну и напоследок картинка с кодом для наглядности:
Как вы понимаете, эти срезы можно использовать в любых местах программы, где можно использовать строки. Например, присваивать их значения переменным и т.п
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.