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

Какие методы должна реализовывать последовательность в Python

Последовательность в Python должна реализовывать следующие методы для поддержки протокола последовательностей:

  1. __len__() - возвращает длину последовательности
  2. __getitem__(index) - получение элемента по индексу (поддержка срезов)
  3. __contains__(item) - проверка вхождения элемента (может использовать __getitem__)
  4. __iter__() - итерация по элементам (может использовать __getitem__)
  5. __reversed__() - обратная итерация (опционально)

Пример минимальной реализации:

python
class MySeq:
    def __init__(self, data):
        self.data = data
        
    def __len__(self):
        return len(self.data)
        
    def __getitem__(self, index):
        return self.data[index]
        
# Использование
seq = MySeq([1, 2, 3])
print(len(seq))  # 3
print(seq[1])    # 2
print(3 in seq)  # True

Для изменяемых последовательностей нужно добавить __setitem__ и __delitem__.

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

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

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

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