Методы __getitem__, __setitem__, __delitem__

Этот вопрос проверяет понимание магических методов для работы с объектами, которые ведут себя как контейнеры (списки, словари).

Короткий ответ

Эти методы позволяют объектам поддерживать доступ, изменение и удаление элементов, используя квадратные скобки.

__getitem__(key) вызывается при чтении значения.

__setitem__(key, value) вызывается при присвоении значения.

__delitem__(key) вызывается при удалении значения.

Длинный ответ

Магические методы __getitem__, __setitem__, __delitem__ предоставляют возможность создавать объекты, которые работают как стандартные коллекции (например, списки или словари).

 

Пример реализации:

class CustomDict:
    def __init__(self):
        self.data = {}

    def __getitem__(self, key):
        return self.data[key]

    def __setitem__(self, key, value):
        self.data[key] = value

    def __delitem__(self, key):
        del self.data[key]

obj = CustomDict()
obj["name"] = "Alice"  # __setitem__
print(obj["name"])     # __getitem__
del obj["name"]        # __delitem__

 

Применение:

- Реализация кастомных контейнеров или коллекций.

- Создание интерфейсов для объектов, имитирующих поведение словарей или списков.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Python

Ключевые слова

Подпишись на Python Developer в телеграм