Метод callable () возвращает True, если переданный объект кажется вызываемым. Если нет, возвращается False.
Синтаксис callable()
:
вызываемый (объект)
callable () Параметры
callable()
метод принимает единственный аргумент object
.
Возвращаемое значение из callable ()
callable()
метод возвращает:
True
- если объект кажется вызываемымFalse
- если объект не вызывается.
Это важно помнить , что, даже если callable()
есть True
, вызов на объект все еще может потерпеть неудачу.
Однако в случае callable()
возврата False
вызов объекта обязательно завершится ошибкой.
Пример 1: Как работает callable ()?
x = 5 print(callable(x)) def testFunction(): print("Test") y = testFunction print(callable(y))
Вывод
Ложная правда
Здесь объект x не вызывается. И объект y кажется вызываемым (но не может быть вызываемым).
Пример 2: вызываемый объект
class Foo: def __call__(self): print('Print Something') print(callable(Foo))
Вывод
Правда
Экземпляр Foo
класса выглядит вызываемым (и в этом случае вызывается).
class Foo: def __call__(self): print('Print Something') InstanceOfFoo = Foo() # Prints 'Print Something' InstanceOfFoo()
Пример 3: объект выглядит вызываемым, но не вызывается.
class Foo: def printLine(self): print('Print Something') print(callable(Foo))
Вывод
Правда
Экземпляр Foo
класса кажется вызываемым, но не вызываемым. Следующий код вызовет ошибку.
class Foo: def printLine(self): print('Print Something') print(callable(Foo)) InstanceOfFoo = Foo() # Raises an Error # 'Foo' object is not callable InstanceOfFoo()
Вывод
True Traceback (последний вызов последним): файл «», строка 10, в TypeError: объект 'Foo' не вызывается