Hello everyone. This is my first post in this group. I started learning python a week ago from the "dive into python" e- book and thus far all was clear. However today while reading chapter 5 about objects and object orientation I ran into something that confused me. it says here: http://www.diveintopython.net/object_oriented_framework/defining_classes.html#fileinfo.class.example
"__init__ methods are optional, but when you define one, you must remember to explicitly call the ancestor's __init__ method (if it defines one). This is more generally true: whenever a descendant wants to extend the behavior of the ancestor, the descendant method must explicitly call the ancestor method at the proper time, with the proper arguments. " However later on in the chapter: http://www.diveintopython.net/object_oriented_framework/userdict.html it says: "Methods are defined solely by their name, and there can be only one method per class with a given name. So if a descendant class has an __init__ method, it always overrides the ancestor __init__ method, even if the descendant defines it with a different argument list. And the same rule applies to any other method. " My question is if __init__ in the descendant class overrides __init__ in the parent class how can I call the parent's __init__ from the descendant class - I just overrode it didn't I? Am I missing something more fundamental here? Thanks -- http://mail.python.org/mailman/listinfo/python-list