Курс Python → Переопределение метода len

Для создания последовательностей в Python можно использовать классы и методы, которые позволяют определить специфическое поведение объектов коллекций. Например, в приведенном выше примере класс CustomList содержит метод len(self), который возвращает длину списка self.items, используемого внутри объекта. Когда мы вызываем функцию len(my_list) для объекта my_list, вызывается метод my_list.len(), который возвращает текущую длину списка.

Переопределение метода len позволяет определить, как будет интерпретироваться длина вашего объекта. Это может быть полезно при создании собственных коллекций или структур данных, так как вы можете управлять тем, как ваш объект будет взаимодействовать с другими частями вашего кода. Например, если вы хотите, чтобы ваш объект вел себя как список, но с некоторыми дополнительными функциями, переопределение метода len позволит вам точно контролировать этот аспект.


class CustomList:
    def __init__(self, items):
        self.items = items

    def __len__(self):
        return len(self.items)

my_list = CustomList([1, 2, 3, 4, 5])
print(len(my_list))  # Выведет 5

Преимущество использования переопределения метода len заключается в том, что вы можете создавать более гибкие и удобные для использования объекты в Python. Это позволяет вам точно контролировать поведение вашего объекта и определять его взаимодействие с другими частями вашего кода. Таким образом, вы можете создавать собственные типы данных, которые будут работать так, как вам нужно, что упростит вашу работу и повысит читаемость вашего кода.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Подсчет вхождений элементов
  2. Отступы в Python
  3. Управление контекстом с помощью декоратора contextmanager
  4. Константы в модуле cmath
  5. Объединение словарей в Python
  6. Defaultdict в Python
  7. Обработка ошибок в Python
  8. Очистка вывода в Python
  9. Игра Виселица на Python
  10. Обработка ошибок в Python
  11. Класс-оболочка для словарей
  12. Оценка выражений генератора в Python
  13. Многоточие в Python
  14. Поиск всех индексов подстроки
  15. Анализ кода — Python
  16. Оптимизация памяти с slots
  17. Python 3.12: Псевдонимы типов
  18. Работа с геоданными с помощью geopy
  19. Создание словаря и множества
  20. Операции с числами в Python
  21. Конкатенация списков в Python
  22. Создание виртуальной среды
  23. Модуль Operator в Python
  24. Печать календаря
  25. Вывод с переменной через запятую
  26. Определение локальных переменных в Python
  27. Python Enum Weekday Usage
  28. Копирование списков в Python
  29. Создание Radio кнопок в tkinter
  30. Карта бомбоубежищ в Москве и Питере
  31. Оптимизация поиска в словарях
  32. Встроенные функции Python
  33. Работа с множествами в Python
  34. Работа с deque из collections
  35. Справка по импортированным модулям
  36. Создание копии итератора
  37. Логирование с Logzero
  38. Форматирование данных с помощью pprint
  39. Метод enumerate() в Python
  40. Сложение матриц в NumPy
  41. Оператор «and» в Python
  42. Работа с Enum в Python3.
  43. Обновление данных через PUT запрос
  44. Блок try-except-else
  45. Оптимизация гиперпараметров в Python

Marketello читают маркетологи из крутых компаний