В чем разница между изменяемыми (мутабельными) и неизменяемыми (иммутабельными) типами данных
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 всё передаётся по ссылке, но иммутабельные объекты нельзя изменить).