Курс Python → Метод __call__ в Python

Метод __call__ в Python позволяет создавать объекты, которые можно вызывать как функции. Это значит, что при вызове объекта с использованием скобок, будет вызываться метод __call__ этого объекта. Такие объекты называются «вызываемыми» и могут содержать любую логику внутри метода __call__.

Для создания вызываемого объекта необходимо определить метод __call__ внутри класса. Этот метод должен принимать параметры, которые будут передаваться при вызове объекта. Внутри метода __call__ можно определить любую логику, которая будет выполняться при вызове объекта.


class CallableObject:
    def __call__(self, *args, **kwargs):
        # Логика, которая будет выполняться при вызове объекта
        pass

# Создание объекта, который можно вызывать
obj = CallableObject()
obj()  # Вызов объекта как функции

Пример кода выше показывает, как создать класс CallableObject с методом __call__, который можно вызывать как функцию. При вызове объекта obj как функции, будет выполняться логика, определенная в методе __call__.

Использование метода __call__ позволяет создавать объекты с более гибким поведением, чем простые функции. Это удобно, когда требуется создать объект, который может хранить состояние или выполнять какую-то сложную логику при вызове.

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

Автор урока

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

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

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

  1. Цикл for в Python
  2. Обработка элементов в Python
  3. Метод __ixor__ для побитового исключающего ИЛИ
  4. Генераторы списков в Python
  5. Разделение строки на пары ключ-значение.
  6. Определение объема памяти объекта
  7. Итераторы в Python
  8. Передача аргументов в Python
  9. Проверка версии Python
  10. Кортеж в Python: создание и использование
  11. Метод matmul для умножения матриц
  12. Создание и использование модулей в Python
  13. Работа с индексами списков
  14. Python Enumerate
  15. Перевод эмодзи и эмотиконов.
  16. Генерация UUID в Python
  17. Построение графиков в Matplotlib
  18. Функции all и any в Python
  19. Упрощение условных выражений с тернарным оператором
  20. Класс Counter() для подсчета элементов
  21. Работа с файлами в Python
  22. Потоковый ввод в Python
  23. Работа с областями видимости переменных
  24. Проверка индексов коллекции
  25. Работа с CSV в Python
  26. Печать списка с помощью метода join
  27. Сортировка с помощью параметра key
  28. Контекстный менеджер в Python
  29. Работа с изменяемыми списками
  30. Генераторы в Python
  31. Работа с пакетами
  32. Область видимости переменных в Python
  33. Автоматизация скриптов на AWS Lightsail.
  34. Декораторы в Python
  35. Поиск email
  36. Методы обработки строк в Python
  37. Переопределение метода __pow__
  38. Python Translator: создание локальных переводчиков
  39. Работа с deque из collections
  40. Вывод сложных структур данных с помощью pprint
  41. Оператор == в Python
  42. Классы данных в Python
  43. Генераторы в Python
  44. Основы Python за 14 дней
  45. Измерение времени выполнения кода
  46. Область видимости переменных

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