Главная страница » Python » 31. Неизменяемость примитивных типов
Добро пожаловать на тридцать первый урок по Python! Сегодня мы обсудим неизменяемость (иммутабельность) примитивных типов данных в Python. Понимание этой концепции поможет вам избежать ошибок и писать более эффективный код.
Неизменяемость означает, что объект не может быть изменен после его создания. Если вы пытаетесь изменить неизменяемый объект, вместо изменения самого объекта будет создан новый объект с новым значением. В Python многие примитивные типы данных являются неизменяемыми.
1. Целые числа (int)
2. Числа с плавающей точкой (float)
3. Комплексные числа (complex)
4. Строки (str)
5. Кортежи (tuple)
6. Булевы значения (bool)
Пример 1: Целые числа
a = 10
print(id(a)) # Выводит уникальный идентификатор объекта a
a = 20
print(id(a)) # Выводит новый идентификатор, так как a теперь указывает на другой объект
Пример 2: Строки
s = "hello"
print(id(s)) # Уникальный идентификатор объекта s
s = s + " world"
print(id(s)) # Новый идентификатор, так как s теперь указывает на новый объект
Пример 3: Кортежи
t = (1, 2, 3)
print(id(t)) # Уникальный идентификатор объекта t
t = t + (4, 5)
print(id(t)) # Новый идентификатор, так как t теперь указывает на новый объект
Неизменяемые объекты безопасны для использования в многопоточных программах, так как они не могут быть изменены после создания.
Из-за неизменяемости некоторые объекты могут быть кэшированы, что улучшает производительность программы.
В отличие от неизменяемых типов данных, изменяемые типы данных могут быть изменены после создания.
Списки (lists)
lst = [1, 2, 3]
print(id(lst)) # Уникальный идентификатор объекта lst
lst.append(4)
print(id(lst)) # Идентификатор остается тем же, так как список изменяем
Словари (dictionaries)
d = {"key1": "value1"}
print(id(d)) # Уникальный идентификатор объекта d
d["key2"] = "value2"
print(id(d)) # Идентификатор остается тем же, так как словарь изменяем
Сегодня вы узнали о неизменяемости примитивных типов данных в Python и о том, как это влияет на работу с данными. Неизменяемость позволяет избежать множества ошибок и делает ваш код более безопасным и эффективным.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.