Python, що викликається ()

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

Цікаві статті...