Курс 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. Функция __init__ в Python
  2. Оператор распаковки в Python
  3. Управление User-Agent в Python
  4. Курс Data Scientist в медицине
  5. Встроенные функции Python
  6. Основные операции с библиотекой Numpy
  7. Использование super() в Python
  8. Замеры производительности в Python
  9. Поиск с библиотекой Google
  10. Проверка однородности элементов списка
  11. Итерация по итерируемым объектам
  12. Асинхронное выполнение задач в процессах
  13. Работа с timedelta
  14. Декораторы в Python
  15. Retrying в Python: повторные вызовы
  16. Проверка условий: all и any
  17. Работа с NumPy
  18. SciPy: широкий функционал для математических операций
  19. Сортировка списка по индексам
  20. Отправка POST-запроса в REST API
  21. Установка и обучение ChatterBot
  22. Объединение словарей в Python
  23. Копирование и вставка текста в Python
  24. Декораторы в Python
  25. Потоковый ввод в Python
  26. Метод __iand__ для пользовательских классов
  27. Контекстный менеджер в Python
  28. Вычисление логарифмов в Python
  29. Преобразование чисел в слова
  30. Работа со словарями Python
  31. Создание и удаление объектов
  32. Списки: объединение, изменение
  33. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  34. Управление контекстом выполнения кода
  35. Копирование объектов в Python
  36. Множества и frozenset
  37. Обработка элементов в Python
  38. Изучение объектов с помощью dir()
  39. Анализ текста на русском языке с помощью Pymystem3
  40. Функция enumerate() в Python
  41. Роль object и type в Python
  42. Ограничение итераций в Python
  43. Особенности ключей словаря в Python
  44. Управление мышью и клавиатурой с Pyautogui
  45. Методы list в Python
  46. Итераторы в Python
  47. Удаление первого элемента списка
  48. Переменная с нижним подчеркиванием

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