Q:

There is a duplicate line showed when calling a __init__ in Python script

I saw a very strange phenomenon when calling a class in Python:
    I want to see "Base created now" on the screen. However I saw two lines,  which are exactly the same. This is very strange to me.
class Base(object):
    def __init__(self):
        print "Base created now"

test1=Base()
test1.__init__()

The result on the screen:
Base created now
Base created now

So I did another experiment: I changed the "init" to "print_test":
class Base(object):
    def print_test(self):
        print "Base created now"

test1=Base()
test1.print_test()

The result on the screen:
Base created now

Do you know why the 1st script has two same lines, and the 2nd only has one line?  Thanks!

A:

__init__() is your constructor method, it always gets called when creating new instances
class Base(object):
    def __init__(self):
        print "Base created now"

test1=Base()   # this creates a new instance and calls __init__()

