The syntax of callable() is:
callable(object)
callable() Parameters
callable() method takes a single argument object.
Return value from callable()
callable() method returns:
True- if the object appears callableFalse- if the object is not callable.
It important to remember that, even if callable() is True, call to the object may still fail.
However, if callable() returns False, call to the object will certainly fail.
Example 1: How callable() works?
x = 5
print(callable(x))
def testFunction():
  print("Test")
y = testFunction
print(callable(y))
Output
False True
Here, the object x is not callable. And, the object y appears to be callable (but may not be callable).
Example 2: Callable Object
class Foo:
  def __call__(self):
    print('Print Something')
print(callable(Foo))
Output
True
The instance of Foo class appears to be callable (and is callable in this case).
class Foo:
  def __call__(self):
    print('Print Something')
InstanceOfFoo = Foo()
# Prints 'Print Something'
InstanceOfFoo()
Example 3: Object Appears to be Callable but isn't callable.
class Foo:
  def printLine(self):
    print('Print Something')
print(callable(Foo))
Output
True
The Foo class appears to be callable, but an instance of it is not callable. The following code will raise an error.
class Foo:
  def printLine(self):
    print('Print Something')
print(callable(Foo))  # still returns True because Foo is a class (classes are callable)
InstanceOfFoo = Foo()
# Raises an Error
# 'Foo' object is not callable
InstanceOfFoo()  # error occurs because instances of Foo are not callable
Output
True Traceback (most recent call last): File "", line 10, in TypeError: 'Foo' object is not callable
Also Read: