Why are constructors called as "Constructors"? What is the purpose and how are they different from methods in a class?
Also, can there be more that one __init__ in a class? I tried something like the following, can someone please explain the result?
>>> class test:
def __init__(self):
print "init 1"
def __init__(self):
print "init 2"
>>> s=test()
init 2
Finally, Is __init__ an operator overloader?