Python callable() built-in function

From the Python 3 documentation Return True if the object argument appears callable, False if not. If this returns True, it is still possible that a call fails, but if it is False, calling object will never succeed. Note that classes are callable (calling a class returns a new instance); instances are callable if their class has a __call__() method.

Introduction

In Python, the callable() function is a built-in function that can be used to determine if an object is callable, meaning it can be invoked as a function.

It returns True if the object passed to it is callable and False otherwise. For example, a function, a method, a class, a lambda function, and a generator are all callable objects in Python.

Here is an example of how you can use the callable() function:

>>> def my_function():
...     pass
...
>>> class MyClass:
...     def __call__(self):
...         pass
...
>>> x = 5
>>> y = my_function
>>> z = MyClass()
>>> a = lambda: None
>>>
>>> print(callable(x))
# False
>>> print(callable(y))
# True
>>> print(callable(z))
# True
>>> print(callable(a))
# True

In the above example, my_function is a function and it is callable, MyClass is a class and it is callable as well because it has a __call__ method, z is an instance of the class MyClass and it is also callable because it has a __call__ method and a is a lambda function which is callable.

The callable() function can be useful in situations where you need to determine if an object can be invoked as a function, such as when you are working with callbacks or other types of function pointers.


Python abs() built-in function Python aiter() built-in function Python all() built-in function Python any() built-in function Python ascii() built-in function Python bin() built-in function Python bool() built-in function Python breakpoint() built-in function Python bytearray() built-in function Python bytes() built-in function Python callable() built-in function Python chr() built-in function Python classmethod() built-in function Python compile() built-in function Python complex() built-in function Python delattr() built-in function Python dict() built-in function Python dir() built-in function Python divmod() built-in function Python enumerate() built-in function Python eval() built-in function Python exec() built-in function Python filter() built-in function Python float() built-in function Python format() built-in function Python frozenset() built-in function Python getattr() built-in function Python globals() built-in function Python hasattr() built-in function Python hash() built-in function Python help() built-in function Python hex() built-in function Python id() built-in function Python __import__() built-in function Python input() built-in function Python int() built-in function Python isinstance() built-in function Python issubclass() built-in function Python iter() built-in function Python len() built-in function Python list() built-in function Python locals() built-in function Python map() built-in function Python max() built-in function Python memoryview() built-in function Python min() built-in function Python next() built-in function Python object() built-in function Python oct() built-in function Python open() built-in function Python ord() built-in function Python pow() built-in function Python print() built-in function Python property() built-in function Python range() built-in function Python repr() built-in function Python reversed() built-in function Python round() built-in function Python set() built-in function Python setattr() built-in function Python slice() built-in function Python sorted() built-in function Python staticmethod() built-in function Python str() built-in function Python sum() built-in function Python super() built-in function Python tuple() built-in function Python type() built-in function Python vars() built-in function Python zip() built-in function