Какие структуры данных в Python иммутабельные
Python
Junior
Без компании
Какие структуры данных в Python иммутабельные
Ответы
В Python иммутабельными (неизменяемыми) структурами данных являются:
- **Числа (int, float, complex)**
```
x = 5
x += 1 # Создаётся новый объект, а не изменяется старый
```
- **Строки (str)**
```
s = "hello"
s[0] = 'H' # TypeError: 'str' object does not support item assignment
```
- **Кортежи (tuple)**
```
t = (1, 2, 3)
t[0] = 4 # TypeError: 'tuple' object does not support item assignment
```
- **Фрозенсеты (frozenset)**
```
fs = frozenset([1, 2, 3])
fs.add(4) # AttributeError: 'frozenset' object has no attribute 'add'
```
- **Байты (bytes)**
```
b = b'hello'
b[0] = 72 # TypeError: 'bytes' object does not support item assignment
```
Иммутабельность означает, что после создания объект нельзя изменить. Любая операция, которая "изменяет" иммутабельный объект, на самом деле создаёт новый объект.