Подход [slice-by-reference] более сложный, сложнее реализовать и может привести к неожиданному поведению.
Например:
a = "a long string with 500,000 chars ..."
b = a[0]
del a
С дизайном среза в виде копии строка a немедленно освобождается. срез-как-эталонный дизайн будет содержать строку 500 кбайт в памяти, хотя вас интересует только первый персонаж.
По-видимому, если вам абсолютно необходимо представление в строку, вы можете использовать объект memoryview.
Ответ 2
Когда вы нарезаете строки, они возвращают новый экземпляр String. Строки являются неизменяемыми объектами.