Курс 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. Сортировка и обратный порядок
  3. Работа с deque из collections
  4. Просмотр внешнего файла в Python
  5. Объединение Python и Shell
  6. Преобразование данных в Python
  7. Объединение множеств в Python
  8. Создание списков в Python
  9. Любовь к Python
  10. Создание виртуальной среды
  11. Тестирование с responses
  12. Установка Python — Простое руководство
  13. Вызов функций по строке в Python.
  14. Изменение объектов в Python
  15. Оператор is в Python
  16. Наиболее частотные элементы с помощью Counter
  17. Работа с collections.Counter
  18. Проверка версии Python
  19. Работа с исключениями в Python
  20. Конвертация коллекций в Python
  21. Magic Commands — улучшение работы с Python
  22. Замена подстроки
  23. Освоение Python
  24. Генерация случайных чисел Python
  25. Тернарный оператор в Python
  26. Работа с itertools
  27. Парсинг веб-страниц с Beautiful Soup
  28. Модуль Antigravity в Python 3
  29. Генераторы данных
  30. Python enumerate() для работы с индексами
  31. Функции all и any в Python
  32. Метод count() для списка
  33. Непрерывная проверка в Python
  34. Удаление пробелов методом translate()
  35. Работа с NumPy.linalg
  36. Принципы Zen of Python
  37. Генераторные выражения и islice.
  38. Протокол управления контекстом
  39. Объединение словарей в Python
  40. Работа с CSV файлами в Python
  41. Добавление цвета в консоли
  42. Выборка чисел
  43. Операции со строками в Python
  44. Управление памятью в Python
  45. Установка библиотек в Python
  46. Декораторы в Python
  47. Извлечение аудио из видео

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