Метод 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" об'єкт не можна викликати