Please be informed that the __init__() is the way of defining the constructor of the class in Python and a custom __call__() method in the meta-class enables the class's object to be described as a function, not always modifying the instance itself.
In [1]: class A:
...: def __init__(self):
...: print "init"
...:
...: def __call__(self):
...: print "call"
...:
...:
In [2]: a = A()
init
In [3]: a()
call
For more information regarding the same do refer to the below Python tutorial video: