#this will allow you to treat object as function
class Test:
def __init__(self, num):
self.num = num
def __call__(self, inp):
print(self.num*inp)
#create an instance of Test class
obj = Test(5)
obj(3) #15
def add(a,b):
return a + b
class Foo:
def __call__(self, a, b, c):
# ...
x = Foo()
x(1, 2, 3) # __call__