Встречается на 1% собеседований по Python
Какие методы нужно переопределить, чтобы объект себя вел как словарь
Для того чтобы объект вёл себя как словарь, необходимо переопределить следующие методы:
__getitem__(self, key)— доступ по ключу:obj[key]__setitem__(self, key, value)— установка значения:obj[key] = value__delitem__(self, key)— удаление элемента:del obj[key]__contains__(self, key)— проверка наличия ключа:key in obj__iter__(self)— итерация по ключам:for key in obj__len__(self)— получение длины:len(obj)
Пример минимальной реализации:
python
class DictLike:
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]
def __contains__(self, key):
return key in self._data
def __iter__(self):
return iter(self._data)
def __len__(self):
return len(self._data)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы