Python callable()

ItsMyCode |
The callable() function in Python returns True if the object passed appears to be callable. Otherwise, it returns False.
callable() Syntax
The syntax of the callable() method is
**callable(object)**
callable() Parameters
The callable() method can take only one argument, i.e., an object.
callable() Return Value
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.
    Example 1: How does callable() works?
    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
    Example 2: When an Object is callable
    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 !!!
    Example 3: When an Object is NOT callable
    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.

    19

    This website collects cookies to deliver better user experience

    Python callable()