Встречается на собеседованиях • сегодня

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

В Python иммутабельными (неизменяемыми) структурами данных являются:

  1. Числа (int, float, complex)

    python
    x = 5  # нельзя изменить значение 5
  2. Строки (str)

    python
    s = "hello"  
    # s[0] = 'H'  # вызовет ошибку
  1. Кортежи (tuple)

    python
    t = (1, 2, 3)  
    # t[0] = 4  # ошибка
  2. Замороженные множества (frozenset)

    python
    fs = frozenset([1, 2, 3])  
    # fs.add(4)  # ошибка
  3. Байтовые строки (bytes)

    python
    b = b'abc'  
    # b[0] = 65  # ошибка

Иммутабельность означает, что после создания объект нельзя изменить. Любая операция, изменяющая объект, создает новый. Например, s += " world" создает новую строку.

Для создания пользовательских иммутабельных классов можно использовать @dataclass(frozen=True) или переопределять __setattr__.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы