Курс 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. Обмен переменными в Jupyter
  2. Удаление символа из строки
  3. Списковое включение в Python
  4. Вывод переменной и строки в Python
  5. Генерация резюме в Gensim
  6. Удаление специальных символов
  7. IPython и Jupyter Notebook: руководство
  8. Переворот строки с помощью срезов
  9. Работа с срезами в Python
  10. Блок else в Python
  11. Python Метод Union Множеств
  12. Форматирование строк в Python
  13. Управление памятью в numpy.
  14. Получение идентификатора объекта в памяти
  15. Конкатенация списков в Python
  16. Исправление ошибки NameError
  17. Логирование с Loguru
  18. Метод radd для пользовательских чисел
  19. Генераторы в Python
  20. Python Метод sleep() времени
  21. Получение ID текущего процесса
  22. Оператор match в Python
  23. Метод __getitem__ в Python
  24. Python union() функция — объединение множеств
  25. Поиск индекса элемента
  26. Работа с файлами и директориями в Python.
  27. Переворот строки
  28. Удаление специальных символов с помощью re.sub
  29. Передача параметров в Python
  30. Искажение имен в Python
  31. Работа с рекламными данными в Pandas
  32. Работа со строками
  33. Экранирование символов в Python
  34. Функция reduce() из модуля functools
  35. Генераторы в Python
  36. Декораторы в Python
  37. Метод rename() для переименования файлов и каталогов
  38. Метод difference_update() — разность множеств
  39. Проверка на истинность объектов в Python
  40. Создание веб-приложения с Flask
  41. Блок else в циклах.
  42. Метод rxor для операции побитового исключающего «или»
  43. Работа с JSON данными в Python
  44. Инверсия списка и строки
  45. Перебор элементов списка в Python
  46. f-строки в формате строк

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