«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Что мы ДЕЙСТВИТЕЛЬНО подразумеваем под неизменяемыми типами данных?

Что мы ДЕЙСТВИТЕЛЬНО подразумеваем под неизменяемыми типами данных?

Опубликовано 1 сентября 2024 г.
Просматривать:561

What do we REALLY mean by immutable data types?

Почему типы данных либо изменяемы, либо неизменяемы?
Давайте рассмотрим Python в качестве примера,

Типы данных в Python — это в основном объекты или классы, int — это класс, числа с плавающей запятой, списки и т. д.

Поэтому запись x=6 создает новый целочисленный объект со значением 6 и указывает ссылку с именем x на этот объект.

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

]

Методы доступа получают доступ к текущему состоянию объекта, но не меняют сам объект, например

x = "привет"
y = x.upper()

Здесь метод Upper вызывается для объекта, на который ссылается x, затем метод доступа Upper возвращает новый объект, объект str, который представляет собой версию исходной строки в верхнем регистре. (не стесняйтесь перечитывать), по сути, он возвращает новый объект, основанный на оригинале, только теперь он в верхнем регистре.

Методы-мутаторы, с другой стороны, изменяют значения в существующих объектах, и хорошим примером является тип списка (класс).

новый список = [1,2,3]
новыйList.reverse()

Этот метод изменит существующий объект, метод-мутатор нельзя отменить.

Типы данных, в которых отсутствуют эти методы-мутаторы, считаются неизменяемыми и, следовательно, содержат только методы доступа, а те, которые отсутствуют, являются изменяемыми.

Надеюсь, это помогло, будьте любопытны :)

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/oduor_arnold/what-do-we-really-mean-by-immutable-data-types-edk?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected] удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3