Функція callable() повертає True, якщо вказаний об’єкт викликається, в протилежному випадку повертається False.
Синтаксис функції callable()
|
1 |
callable(object) |
Параметри функції callable()
Функція callable() приймає один параметр — object.
Значення, яке повертає функція callable()
Функція callable() повертає:
True — якщо об’єкт може бути викликаним;
False — якщо об’єкт не може бути викликаним.
Важливо пам’ятати, що навіть якщо callable() повертає True, виклик об’єкта може призвести до помилки. Проте, якщо callable() повертає False, виклик об’єкта неодмінно призведе до помилки.
Приклад №1: Як працює функція callable()?
|
1 2 3 4 5 6 7 8 |
x = 5 print(callable(x)) def testFunction(): print("Test") y = testFunction print(callable(y)) |
Результат:
False
True
Тут об’єкт x не може бути викликаний. А об’єкт y викликається.
Приклад №2: Викликаний об’єкт
|
1 2 3 4 5 |
class Foo: def __call__(self): print('Print Something') print(callable(Foo)) |
Результат:
True
Об’єкт класу Foo може викликатися (і викликається у даному випадку):
|
1 2 3 4 5 6 7 |
class Foo: def __call__(self): print('Print Something') InstanceOfFoo = Foo() InstanceOfFoo() |
Результат:
Print Something
Приклад №3: Об’єкт може викликатися, але не викликається
|
1 2 3 4 5 |
class Foo: def printLine(self): print('Print Something') print(callable(Foo)) |
Результат:
True
Об’єкт класу Foo може викликатися, але не викликається. Наступний код спричинить помилку:
|
1 2 3 4 5 6 7 8 9 10 |
class Foo: def printLine(self): print('Print Something') print(callable(Foo)) InstanceOfFoo = Foo() # Тут помилка InstanceOfFoo() |
Результат:
True
Traceback (most recent call last):
File "", line 10, in
TypeError: 'Foo' object is not callable
