Какие знаешь иммутабельные структуры данных

Python Junior Без компании
Какие знаешь иммутабельные структуры данных
Ответы
В Python иммутабельными (неизменяемыми) структурами данных являются: - **Числа** (`int`, `float`, `complex`) ``` x = 5 # нельзя изменить значение 5 ``` - **Строки** (`str`) ``` s = "hello" # s[0] = 'H' # вызовет ошибку ``` - **Кортежи** (`tuple`) ``` t = (1, 2, 3) # t[0] = 4 # ошибка ``` - **Замороженные множества** (`frozenset`) ``` fs = frozenset([1, 2, 3]) # fs.add(4) # ошибка ``` - **Байтовые строки** (`bytes`) ``` b = b'abc' # b[0] = 65 # ошибка ``` **Иммутабельность** означает, что после создания объект нельзя изменить. Любая операция, изменяющая объект, создает новый. Например, `s += " world"` создает новую строку. Для создания пользовательских иммутабельных классов можно использовать `@dataclass(frozen=True)` или переопределять `__setattr__`.