Почему строки неизменяемые?


#1

Почему говорят что строки в Python неизменяемые?

Вот я взял и изменил её...

my_string = 'Hello'
    print(type(my_string))
for el in my_string:
    print(el)
drawLine()

my_string  = 'World'
for el in my_string:
    print(el)</pre>

И в чём секрет...?


#2

Таким образом ты создал новую строку и переприсвоил ссылку со старого объекта в памяти к новому, модифицированному.

Таким образом ты не отредактировал существующее значение в памяти, а просто отрезал его от внешнего мира, после чего сборщик мусора когда заметит объект без ссылки - удалит его