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

Python Middle Aston
Зачем нужен __contains__ в итераторе Python
Ответы
Метод `__contains__` позволяет проверить наличие элемента в итераторе или коллекции с помощью оператора `in`. Если он не реализован, Python будет перебирать элементы вручную, что может быть неэффективно. Пример с реализацией `__contains__` для проверки диапазона: ``` 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` потребовала бы полного перебора.