Методът 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))
Изход
False True
Тук обектът 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“ обектът не може да се извика