Возникнет TypeError: строки Python не поддерживают присваивание отдельным символам. Чтобы получить 'dbc', нужно создать новую строку, например s = 'd' + s[1:].
Попытка изменить символ в строке
Возникнет TypeError: строки Python не поддерживают присваивание отдельным символам. Чтобы получить 'dbc', нужно создать новую строку, например s = 'd' + s[1:].
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Что произойдёт, если попытаться присвоить новое значение символу строки по индексу?
s = "abc"
s[0] = 'd'
Ответ
Возникнет TypeError: строки Python не поддерживают присваивание отдельным символам. Чтобы получить 'dbc', нужно создать новую строку, например s = 'd' + s[1:].
Строковые объекты неизменяемы. Индексирование позволяет прочитать символ, но не заменить его внутри существующего объекта.
s = 'abc'
s = 'd' + s[1:]
print(s) # dbc
Здесь меняется привязка имени s, а не содержимое прежней строки. Если требуется много точечных правок, можно один раз преобразовать строку в список символов, изменить список и собрать результат через ''.join(chars), избегая многократного копирования длинной строки.