Callable в Python: определение и примеры использования

"Callable" - это понятие в программировании, означающее, что объект может быть вызван как функция. Он связан с парадигмой программирования, где функции считаются объектами первого класса и могут быть переданы как аргументы другим функциям, присвоены переменным или храниться в коллекциях.

Проверка, является ли объект "callable", осуществляется при помощи функции "callable()". Она принимает один аргумент - объект, и возвращает значение "True", если объект является вызываемым (callable), и "False" в противном случае.

Например, функция "print()" и метод "append()" у списка являются вызываемыми объектами. Вот примеры использования "callable()":


>>> x = 5
>>> callable(x)
False
>>> y = []
>>> callable(y)
False
>>> z = lambda x: x**2
>>> callable(z)
True
>>> s = "Hello, World!"
>>> callable(s)
False
>>> callable(print)
True
>>> callable(y.append)
True

Кроме функций и методов, являющихся объектами, lambda-функции и объекты, которые переопределяют метод "__call__()" также считаются вызываемыми.


>>> class MyClass():
...     def __call__(self, x):
...         return x**2
...
>>> obj = MyClass()
>>> callable(obj)
True
>>> callable(lambda x: x**3)
True

Вот примеры использования переопределенного метода "__call__()":


>>> class Adder:
...     def __init__(self, x):
...         self.x = x
...     def __call__(self, y):
...         return self.x + y
...
>>> add = Adder(5)
>>> add(10)
15

В итоге, "callable" - это объект, который может быть вызван как функция. Для проверки можно использовать функцию "callable()", с помощью которой можно определить, является ли объект вызываемым или нет.

Похожие вопросы на: "callable "

Ошибка MSVCR110.dll - как исправить и скачать файл
Все, что нужно знать о системе смыва для туалета - Flush
Mastering the Border Box CSS Property for Better Web Design
Aspose - универсальный инструмент для работы с файлами
UTF: секреты кодировки символов в веб-разработке
Kotlin List: The Ultimate Guide
<h1>Система управления проектами JDF: эффективность и надежность
Работа с функцией puts в языке программирования С
Net47 - информационный портал о сетях и технологиях
CR LF: перевод строки в программировании