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()", с помощью которой можно определить, является ли объект вызываемым или нет.