Неизменяемый объект — это объект, который после создания не изменится за время своего существования.
Пример
Попробуйте выполнить следующий код:
- Python
- Python
- Python
name_1 = "Varun" name_1 [0] = ' T '
Вы получите сообщение об ошибке, когда захотите изменить содержимое строки.
Решение
Одно из возможных решений — создать новый строковый объект с необходимыми изменениями:
name_1 = "Варун" name_2 = "T" + name_1 [1:] print ("name_1 =", name_1, "и name_2 =", name_2)
Чтобы определить, что это разные строки, проверьте с помощью функции id ():
name_1 = «Varun» name_2 = «T» + name_1 [1:] print («id of name_1 =», id (name_1)) print («id of name_2 =», id (name_2))
Чтобы Чтобы узнать больше о концепции неизменяемости строк, рассмотрите следующий код:
name_1 = "Варун" name_2 = "Варун" print ("id of name_1 =", id (name_1)) print ("id of name_2 =", id (name_2) )
При выполнении приведенных выше строк кода вы обнаружите, что идентификаторы объектов name_1 и name_2, которые относятся к строке «Varun», совпадают..
Копать глубже выполните следующие инструкции:
name_1 = "Varun" print ("id of name_1 =", id (name_1)) name_1 = "Tarun" print ("id name_1 после инициализации новым значением =", id (name_1))
Как видно из приведенного выше примера, когда строковая ссылка повторно инициализируется новым значением, она создает новый объект, а не перезаписывает предыдущее значение.
В Python строки сделаны неизменяемыми. чтобы программисты не могут изменить содержимое объекта (даже по ошибке). Это позволяет избежать ненужных ошибок.
Некоторые другие неизменяемые объекты — это целые числа, числа с плавающей запятой, кортеж и логическое значение.
Подробнее об изменяемых и неизменяемых объектах в Python.