Почему типы данных либо изменяемы, либо неизменяемы?
Давайте рассмотрим Python в качестве примера,
Типы данных в Python — это в основном объекты или классы, int — это класс, числа с плавающей запятой, списки и т. д.
Поэтому запись x=6 создает новый целочисленный объект со значением 6 и указывает ссылку с именем x на этот объект.
Теперь нам нужно взглянуть на классы, классы в основном группируют данные и функции вместе, эти функции называются методами и бывают двух типов: методы доступа и мутаторы.
]Методы доступа получают доступ к текущему состоянию объекта, но не меняют сам объект, например
x = "привет"
y = x.upper()
Здесь метод Upper вызывается для объекта, на который ссылается x, затем метод доступа Upper возвращает новый объект, объект str, который представляет собой версию исходной строки в верхнем регистре. (не стесняйтесь перечитывать), по сути, он возвращает новый объект, основанный на оригинале, только теперь он в верхнем регистре.
Методы-мутаторы, с другой стороны, изменяют значения в существующих объектах, и хорошим примером является тип списка (класс).
новый список = [1,2,3]
новыйList.reverse()
Этот метод изменит существующий объект, метод-мутатор нельзя отменить.
Типы данных, в которых отсутствуют эти методы-мутаторы, считаются неизменяемыми и, следовательно, содержат только методы доступа, а те, которые отсутствуют, являются изменяемыми.
Надеюсь, это помогло, будьте любопытны :)
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3