Курс 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. Подсчет частоты элементов с Counter
  2. Функции map, filter и reduce
  3. Подсчет элементов с помощью Counter из collections
  4. Команда %dhist — список посещенных каталогов
  5. Именованные срезы в Python
  6. Проверка строки на палиндром
  7. Проверка ввода с помощью isdigit
  8. Функция с *args.
  9. Удаление URL-адресов в Python
  10. Работа с географическими данными в Python
  11. Список переменных с %who
  12. Функции в Python: создание и вызов
  13. Создание новых функций с помощью functools.partial
  14. Форматирование объектов с модулем pprint
  15. Метод __float__ в Python
  16. Python-dateutil — работа с датами
  17. Декораторы в Python
  18. Перевернуть список в Python
  19. Генераторы по генератору
  20. Печать списка с помощью метода join
  21. Повторение элементов списков
  22. Выражения-генераторы в Python
  23. Функция __init__ в Python
  24. Основы работы со списками
  25. Строковое представление объектов
  26. Создание словаря и множества
  27. Операции со строками в Python
  28. Функция reduce() в Python
  29. Retrying в Python: повторные вызовы
  30. Сравнение def и lambda функций в Python
  31. Атрибуты класса и экземпляра
  32. Профилирование с Pandas
  33. Логирование с Loguru
  34. Работа с Enum в Python3.
  35. Проверка переменных окружения в Python
  36. Объединение списков с использованием itertools.chain
  37. Блок try…finally в Python
  38. Оптимизация поиска в словарях
  39. Скрытие вывода данных
  40. Очистка данных с Pandas
  41. Копирование объектов в Python
  42. Проверка надежности пароля на Python
  43. Работа с датой и временем в Python
  44. Изменение логики работы с временем
  45. Работа с файлами в Python
  46. Объединение списков в Python
  47. Модуль array: создание и использование массивов
  48. Оптимизация памяти в Python

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