JET School

Что такое Callable?

Callable (от англ. call — «вызывать») — это объект, который можно вызвать как функцию, то есть использовать с круглыми скобками (). Если объект можно вызвать, значит он callable.

Какие объекты в Python являются callable?

  1. Функции — например, def my_function(): ...
  2. Методы — функции, принадлежащие объектам.
  3. Классы — если они определяют метод __call__(), их экземпляры тоже становятся callable.
  4. Некоторые встроенные объекты, как len, print, range и т. д.

Пример 1: Обычная функция

def привет():

print("Привет, мир!")


print(callable(привет)) # True — функция вызываемая

привет() # Вызов функции

Пример 2: Класс с методом __call__

class Пример:

def __call__(self):

print("Объект можно вызывать как функцию!")


obj = Пример()

print(callable(obj)) # True

obj() # Вызов объекта

В этом примере объект obj можно вызывать, потому что в его классе определён метод __call__().

Функция callable()

Python предоставляет встроенную функцию callable(obj), которая проверяет, можно ли вызвать объект. Если да — возвращается True, иначе — False.


print(callable(len)) # True

print(callable("строка")) # False

print(callable(123)) # False

Важно знать:

  • Не все объекты в Python являются callable.
  • Функции, методы и некоторые объекты классов могут быть вызваны.
  • Классы можно делать callable, реализуя в них метод __call__().

Заключение

Callable — это фундаментальное понятие в Python. Оно помогает понять, какие объекты можно вызывать как функции. Это важно при работе с декораторами, колбэками, замыканиями и ООП.

Связанные термины:

Присоединяйтесь к нашим курсам для углубленного изучения области ИТ. Отправьте запрос для получения подробной информации!