16
Python callable()
ItsMyCode |
The callable()
function in Python returns True
if the object passed appears to be callable. Otherwise, it returns False
.
The syntax of the callable()
method is
**callable(object)**
The callable()
method can take only one argument, i.e., an object.
The callable()
function returns
-
True
– if the object appears callable -
False
– if the object is not callable.
Note: There may be few cases where callable()
returns True , but the call to the object may fail. But in case if callable()
returns False , the calling object will never succeed.
Here, the object number
is not callable. And, the object getData
appears to be callable (but may not be callable).
# returns false as the object of integer is not callable
number = 10
print(callable(number))
def getData():
print("Hello World")
# returns true as the variable is callable
obj = getData
print(callable(obj))
Output
False
True
The built-in callable()
method checks if the argument passed is either of the below two cases:
- An instance of a class having a ` __call_ `_ method.
- It is of a type that indicates callability, such as in functions, methods, etc. or has a non-null
tp_call
(c struct) member.
# Python program to demonstrate callable()
class Test:
def __call__ (self):
print('Hello World !!!')
# Suggests that Test class is callable and returns True
print(callable(Test))
# This proves that class is callable
TestObject = Test()
TestObject()
Output
True
Hello World !!!
The callable()
method returns True , suggesting that the Test class is callable, but the instance of Test ** is not callable, and it returns a **TypeError: ‘Test’ object is not callable
# Python program to demonstrate NOT callable()
class Test:
def printdata(self):
print('Hello World !!!')
# Suggests that Test class is callable and returns True
print(callable(Test))
# The object will be created but returns error while calling
TestObject = Test()
TestObject()
Output
True
Traceback (most recent call last):
File "c:\Projects\Tryouts\main.py", line 11, in <module>
TestObject()
TypeError: 'Test' object is not callable
The post Python callable() appeared first on ItsMyCode.
16