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

Неизменяемый объект — это объект, который после создания не изменится за время своего существования.

Пример

Попробуйте выполнить следующий код:

  • 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.

Оцените статью
nanomode.ru
Добавить комментарий