Курс 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. Лямбда-функции для min/max
  2. Вычисление разности множеств в Python
  3. Работа с zip()
  4. Закрытие файла в Python
  5. Импорт в Python: список all
  6. Python Аргументы по умолчанию
  7. Метод __iand__ для пользовательских классов
  8. Обработка ошибок в Python
  9. Участие в сообществе @selectel
  10. Лямбда-функции в Python
  11. Декодирование строк в Python
  12. Python Поверхностное Копирование
  13. Логический оператор «and» в Python
  14. Улучшение читаемости кода в Python
  15. Путь к интерпретатору Python
  16. Многопроцессорное программирование в Python
  17. Освоение Python
  18. Lambda-функция в Python: использование с map() и sum()
  19. Поиск самого частого элемента
  20. Обработка ошибок в Python
  21. Определение наиболее частого элемента с помощью collections.Counter
  22. Поиск подстроки в строке
  23. Срез списка в Python
  24. Распаковка элементов массива
  25. Комментарии в Python
  26. Очистка вывода в Python
  27. Метод get() для словарей
  28. Измерение времени выполнения в Python
  29. Списковое включение в Python
  30. Логирование в Python
  31. Разделение строки с регулярными выражениями
  32. Умножение строк и списков
  33. Роль ключевого слова self
  34. Работа со строками в Python
  35. Метод ipow для возведения в степень
  36. Декоратор @override
  37. Основные операции с библиотекой Numpy
  38. Анонимные функции Lambda
  39. Работа с каталогами в Python
  40. Блок try-except-else
  41. Хэш-функции и метод цепочек
  42. Методы Python для работы с данными
  43. Поиск индекса элемента
  44. Форматирование строк с % в Python
  45. Объединение множеств в Python

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