Что такое Callable?
Callable (от англ. call — «вызывать») — это объект, который можно вызвать как функцию, то есть использовать с круглыми скобками (). Если объект можно вызвать, значит он callable.
Какие объекты в Python являются callable?
- Функции — например, def my_function(): ...
- Методы — функции, принадлежащие объектам.
- Классы — если они определяют метод __call__(), их экземпляры тоже становятся callable.
- Некоторые встроенные объекты, как 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. Оно помогает понять, какие объекты можно вызывать как функции. Это важно при работе с декораторами, колбэками, замыканиями и ООП.
Связанные термины:
Присоединяйтесь к нашим курсам для углубленного изучения области ИТ. Отправьте запрос для получения подробной информации!