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

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

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

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

    python
    x = 5
    x += 1  # Создаётся новый объект, а не изменяется старый
  2. Строки (str)

    python
    s = "hello"
    s[0] = 'H'  # TypeError: 'str' object does not support item assignment
  1. Кортежи (tuple)

    python
    t = (1, 2, 3)
    t[0] = 4  # TypeError: 'tuple' object does not support item assignment
  2. Фрозенсеты (frozenset)

    python
    fs = frozenset([1, 2, 3])
    fs.add(4)  # AttributeError: 'frozenset' object has no attribute 'add'
  3. Байты (bytes)

    python
    b = b'hello'
    b[0] = 72  # TypeError: 'bytes' object does not support item assignment

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

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

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

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

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