Курс 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. Модуль xkcd: добавление юмора в Python
  2. Тернарный оператор в Python
  3. Выражения-генераторы в Python
  4. Работа с контекстными переменными
  5. Перевод двоичного кода в целое число
  6. Использование модуля math
  7. Преобразование символов в нижний регистр
  8. Метод __index__ в Python
  9. Использование super() в Python
  10. Чтение и запись TOML-конфигов
  11. Оформление кода на Python
  12. Обработка исключений в Python
  13. Работа с геоданными с помощью geopy
  14. Атрибуты класса и экземпляра в Python
  15. Метод join для наборов
  16. Базовые объекты Python
  17. Блок try-except-else
  18. Namedtuple в Python
  19. Python union() функция — объединение множеств
  20. Метод __iand__ для пользовательских классов
  21. Хеширование паролей с использованием salt
  22. Использование эмодзи в Python
  23. Инверсия списка/строки в Python
  24. Работа с модулем random
  25. Протокол управления контекстом
  26. Преобразование вложенного списка
  27. Принципы SRP и OCP
  28. Функция eval() в Python
  29. *args и **kwargs в Python
  30. Получение текущей даты и времени
  31. Исключение NotImplementedError
  32. Работа с Requests для HTTP-запросов
  33. Создание и операции с дробями
  34. Мощь вложенных функций в Python
  35. Замена переменных в Python
  36. Иерархия классов в Python
  37. Оболочка Python
  38. Работа со слайсами
  39. Метод init в Python
  40. Python Метод sleep() времени
  41. Работа с байтовыми строками в Python
  42. Операция += для списков
  43. Конвертация изображений в PDF
  44. PEP-401: оператор
  45. Работа с географическими данными в Python
  46. Создание списков в Python

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