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

Зачем нужен __contains__ в итераторе Python

Метод __contains__ позволяет проверить наличие элемента в итераторе или коллекции с помощью оператора in. Если он не реализован, Python будет перебирать элементы вручную, что может быть неэффективно.

Пример с реализацией __contains__ для проверки диапазона:

python
class Range:
    def __init__(self, start, end):
        self.start = start
        self.end = end

    def __contains__(self, item):
        return self.start <= item <= self.end

r = Range(1, 10)
print(5 in r)  # True
print(15 in r)  # False

Без __contains__ проверка in потребовала бы полного перебора.

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

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

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

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