Курс Python → Создание пользовательской коллекции в Python
Для создания пользовательских коллекций или структур данных в Python можно использовать классы. В данном примере мы рассмотрим класс CustomList, который определяет метод contains(self, item) для проверки наличия элемента item в списке self.items. Этот метод позволяет нам использовать оператор in для объектов типа CustomList, что делает проверку наличия элементов более удобной и интуитивно понятной.
Пример кода:
class CustomList:
def __init__(self):
self.items = []
def contains(self, item):
return item in self.items
# Использование
custom_list = CustomList()
custom_list.items = [1, 2, 3, 4, 5]
print(2 in custom_list) # True
print(6 in custom_list) # False
Как видно из примера, при вызове оператора in для объекта CustomList будет автоматически вызван метод contains, который вернет True, если элемент найден в списке, и False, если элемент отсутствует. Этот подход позволяет нам легко проверять наличие элементов в нашей пользовательской коллекции.
Переопределение метода contains позволяет нам определить собственную логику проверки наличия элементов в нашем объекте. Например, мы можем добавить дополнительные условия или проверки перед возвратом результата. Это делает нашу структуру данных более гибкой и настраиваемой под конкретные потребности.
Таким образом, использование пользовательских коллекций с переопределенным методом contains может значительно упростить работу с данными в Python, делая код более читаемым и эффективным. Этот лайфхак пригодится при создании собственных структур данных или коллекций, которые требуют проверки наличия элементов.
Другие уроки курса "Python"
- Форматирование данных с помощью pprint
- Структуры данных в Python
- Имена объектов в Python
- Работа с модулем os в Python
- Добавление Progressbar в Python
- Отправка POST-запроса в REST API
- Функции map() и reduce() в Python
- Расчет времени выполнения программы
- Работа с итераторами через срезы
- JSON в Python: модуль, dump, dumps, load
- Именованные аргументы в Python
- Сортировка в Python
- Работа с изменяемыми коллекциями
- Печать в одной строке
- Функции с необязательными аргументами
- Инвертирование словаря
- Библиотека funcy: удобные утилиты
- Обмен значений переменных в Python
- Выражения-генераторы в Python
- Создание графики с черепахой
- Извлечение новостей с newspaper3k
- Magic Commands — улучшение работы с Python
- Оператор continue в Python
- Измерение времени выполнения кода
- Загрузка постов Instagram
- Порядок операций в Python
- Курсы Яндекс Практикум
- Метод enumerate() в Python
- Работа с аргументами командной строки в Python
- Скрытие вывода данных
- Работа со случайными элементами
- Проверка дубликатов в Python
- Работа с комплексными числами в Python
- Класс-оболочка для словарей
- Удаление URL-адресов в Python
- Форматирование строк в Python
- %pinfo: получение информации об объекте
- Чтение и запись TOML-конфигов
- Эффективная конкатенация строк с использованием join()
- Установка переменной среды в Python
- Работа с GitHub в Telegram
- Карта бомбоубежищ в Москве и Питере
- Howdoi — получение ответов из терминала















