Что происходит с неизменяемым объектом в Python при изменении его значения?

Означает ли неизменяемый объект в питоне, что его значение не может быть изменено после его зачатия? Если это так, что произойдет, когда мы попытаемся изменить его значение.

Позвольте мне попытаться объяснить мое сомнение на примере.

Например, я инициализировал объект String Sзначением "Hello World".

S = 'Hello World'

Затем я набрал строку

S = 'Hello Human'

Итак, когда я спрашиваю интерпретатора, он говорит мне, что значение S равно "Hello Human". Ясно, что теперь «S» имеет новое значение.

Как изменилось значение? Уничтожил ли python старый строковый объект и создал новый с новым значением? или это просто изменило значение старого объекта. Имеет ли это какое-то отношение к тому факту, что строковый объект неизменяем? Если да, то как ведут себя изменяемые объекты?

5
задан jamylak 10 June 2012 в 08:08
поделиться