Позволяет определить механизм проверки наличия элемента в объекте-контейнере.
object.__contains__(self, item)
-> bool
self -- Ссылка на объект.

item -- Элемент, наличие которого в объекте требуется определить.

Вызывается в ходе проверки наличия элемента в объекте-контейнере при помощи инструкции in.

Должен вернуть True, если указанный элемент содержится в объекте, иначе False.

    class MyContainer:

def __init__(self):
self.items = [1, 2]

def __contains__(self, item):
return item in self.items


my_container = MyContainer()

1 in my_container # True
2 in my_container # True
3 in my_container # False

На заметку
Для отображений следует производить поиск элемента среди ключей, а не среди значений.

Для объектов, в которых данный метод не определён, наличие элемента будет выяснено:
  • в процессе прохода по элементам при помощи __iter__(),
  • либо при помощи более старого протокола итерирования (см. __getitem__())

Синонимы поиска: object.__contains__, object, __contains__
На заметку
Зарегистрированные пользователи могут добавлять Книги.