В чем разница между изменяемыми (мутабельными) и неизменяемыми (иммутабельными) типами данных

Python Senior Без компании
В чем разница между изменяемыми (мутабельными) и неизменяемыми (иммутабельными) типами данных
Ответы
Изменяемые (мутабельные) типы данных можно модифицировать после создания, а неизменяемые (иммутабельные) — нет. **Примеры иммутабельных типов:** - `int`, `float`, `str`, `tuple`, `frozenset` ``` a = "hello" a[0] = "H" # TypeError: 'str' object does not support item assignment ``` **Примеры мутабельных типов:** - `list`, `dict`, `set` ``` lst = [1, 2, 3] lst[0] = 10 # OK ``` **Ключевые различия:** - **Изменяемость:** Мутабельные объекты можно менять, иммутабельные — нет. - **Хешируемость:** Иммутабельные объекты можно использовать как ключи в словарях. - **Передача в функции:** Мутабельные объекты передаются по ссылке, иммутабельные — по значению (хотя в Python всё передаётся по ссылке, но иммутабельные объекты нельзя изменить).