English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Python

Контроль потока в Python

Функции Python

Типы данных Python

Операции с файлами в Python

Объекты и классы в Python

Python дата и время

Высокий уровень знаний Python

Руководство Python

Использование Python callable() и примеры

Внутренние функции Python

Если переданный объект отображается как вызываемый, то метод callable() возвращает True. Если нет, то возвращает False.

Синтаксис callable():

callable(object)

Параметр callable()

callable() метод принимает единственный параметр object.

Возврат callable()

callable() метод возвращает:

  • True - если объект выглядит как вызываемый

  • False - если объект не может быть вызван.

Важно помнить, что даже если callable() возвращает True, вызов объекта может失败.

Но если callable() возвращает False, то вызов объекта肯定会失败.

Пример 1: Как работает callable()?

x = 5
print(вызываемый(x))
def testFunction():
  print("Test")
y = testFunction
print(вызываемый(y))

При выполнении этого программы, вывод будет следующим:

False
True

здесь, объектxне может быть вызван. И объектy似乎是 вызываемым (но также может и не быть вызываемым).

Пример 2: Вызываемый объект 

class Foo:
  def __call__(self):
    print('Print Something')
print(вызываемый(Foo))

При выполнении этого программы, вывод будет следующим:

True

Пример класса 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(вызываемый(Foo))

При выполнении этого программы, вывод будет следующим:

True

Пример класса Foo, который, по-видимому, можно вызвать, но его нельзя вызвать. Следующий код вызовет ошибку.

class Foo:
  def printLine(self):
    print('Print Something')
print(вызываемый(Foo))
InstanceOfFoo = Foo()
# Приводит к ошибке
# “ Foo” объект не может быть вызван
InstanceOfFoo()

Внутренние функции Python