Python has a set of built-in methods and __call__ is one of them. The __call__ method enables Python programmers to write classes where the instances behave like functions and can be called like a function. When the instance is called as a function; if this method is defined, x(arg1, arg2, ...) is a shorthand for x.__call__(arg1, arg2, ...).
object() is shorthand for object.__call__()
Example 1:
class Example: def __init__(self): print("Instance Created") # Defining __call__ method def __call__(self): print("Instance is called via special method") # Instance createde = Example() # __call__ method will be callede() |
Output :
Instance Created Instance is called via special method
Example 2:
class Product: def __init__(self): print("Instance Created") # Defining __call__ method def __call__(self, a, b): print(a * b) # Instance createdans = Product() # __call__ method will be calledans(10, 20) |
Output :
Instance Created 200

… [Trackback]
[…] Read More to that Topic: geeksforgeeks.org/call-in-python/ […]