Курс 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. Комментарии в Python.
  2. Возврат нескольких значений из функции
  3. Создание генераторов
  4. Умножение строк и списков
  5. Python: библиотеки и функции
  6. Работа с Path в Python
  7. Цикл for в Python
  8. Деление в Python
  9. Ошибка NotImplemented в Python
  10. Pillow: работа с изображениями
  11. Оптимизация памяти с slots
  12. Создание итерируемых объектов
  13. Просмотр атрибутов и методов класса
  14. Асинхронное выполнение задач в Python
  15. Настройка вывода NumPy
  16. SciPy: широкий функционал для математических операций
  17. Именование столбцов в Python с pandas
  18. Выход из профиля в Django
  19. Кортеж в Python: создание и использование
  20. Метод get для словарей
  21. Генераторы в Python
  22. Удаление символа из строки
  23. Поиск элементов BeautifulSoup
  24. Обработка исключений в Python
  25. Открытие, чтение и закрытие файла
  26. Сортировка и разворот списка
  27. Команда %dhist — список посещенных каталогов
  28. Компиляция регулярных выражений
  29. Множества и frozenset
  30. Обработка ошибок в JSON данных
  31. Работа с YAML в Python
  32. Измерение времени выполнения кода
  33. Декораторы с аргументами в Python
  34. Декоратор total_ordering для класса Point
  35. Работа с enumerate()
  36. Поиск индексов в списке
  37. Управление памятью в Python
  38. Зарезервированные слова в Python
  39. Проверка переменных окружения в Python
  40. Перехват исключений в Python
  41. Распаковка аргументов в Python
  42. Декоратор total_ordering для сравнения объектов
  43. Установка и использование модуля «howdoi»
  44. Многоточие в Python
  45. Функция map() и ленивая оценка

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