This is because there is a default constructor implicitly injected by python during program compilation, this is an empty default constructor that looks like this: def __init__(self): # no body, does nothing. In this case, python does not create a constructor in our program .