Что произойдет со строкой, если ее обрезать в Python?

«Что произойдет со строкой, если ее обрезать в Python?» — вопрос из категории Python, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Python строки являются неизменяемыми (immutable), поэтому при обрезке (срезе) создается новая строка, а исходная остается без изменений. Срез выполняется через синтаксис [start:end:step].

Пример:

original = "Hello, World!"
sliced = original[7:12]  # "World"
print(original)  # "Hello, World!" (не изменилась)
print(sliced)    # "World"

Особенности:

  1. Если индекс выходит за границы, ошибки не будет — Python вернет максимально возможный срез.
  2. Отрицательные индексы отсчитываются с конца строки.
  3. Пропуск start/end означает начало/конец строки соответственно.