Что такое неизменяемость типов данных
Python
Middle
Без компании
Что такое неизменяемость типов данных
Ответы
Неизменяемость (immutability) означает, что объект нельзя изменить после создания. В Python неизменяемыми типами являются: `int`, `float`, `str`, `tuple`, `bool`, `frozenset`.
Пример с `str`:
```
s = "hello"
s[0] = "H" # TypeError: 'str' object does not support item assignment
```
При "изменении" создаётся новый объект:
```
a = 5
b = a # Оба указывают на один объект
a += 1 # Создаётся новый объект 6, a теперь ссылается на него
print(b) # 5 (не изменился)
```
**Плюсы неизменяемости:**
- Безопасность в многопоточности
- Хешируемость (можно использовать как ключ в `dict`)
- Предсказуемость кода
Неизменяемые объекты часто более эффективны для небольших данных из-за кеширования (например, `-5` до `256` для `int`).