Курс 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. Поиск частых элементов в списке
  2. Работа с файлами в Python
  3. Утечки переменных цикла в Python 3.x
  4. Названия переменных
  5. Генерация случайных чисел в Python
  6. Слияние словарей в Python 3.9
  7. Замена подстроки
  8. Атрибуты объекта в Python
  9. Хранение переменных в Python.
  10. Метод setdefault() в Python
  11. Мониторинг памяти с Pympler
  12. Прокачанный трейсинг ошибок
  13. Создание новых списков в Python
  14. Работа с типами данных в Python с помощью pydantic.
  15. Философия Python
  16. Сортировка с помощью key
  17. Метод index() в Python
  18. Сортировка в Python
  19. Оператор Walrus в Python
  20. Преобразование символов в нижний регистр
  21. Модуль subprocess: запуск внешних команд
  22. Открытие, чтение и закрытие файла
  23. Библиотека sh: удобные команды терминала
  24. Тест скорости набора текста на Python
  25. Установка и использование модуля «howdoi»
  26. Перемешивание списка с shuffle()
  27. Форматирование строк с % в Python
  28. Работа со строками в Python
  29. Делегирование в Python
  30. Цикл for в Python
  31. Оператор обр. импликации
  32. Создание графики с черепахой
  33. Запуск Python из интерпретатора
  34. Модуль inspect: получение информации о объектах
  35. Solidity для DeFi Ethereum
  36. Оптимизация поиска в словарях
  37. Методы list в Python
  38. Функция zip() в Python
  39. Структура данных deque в Python
  40. Операторы объединения в Python 3.9
  41. Управление контекстом выполнения кода
  42. Виртуальные среды в Python
  43. Отделение звука от видео

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