[hijacking the "question about object oriented programming and inheritance using datetime module" thread here....]
On Tue, 16 Jan 2007, Kent Johnson wrote: > I think you are missing the line > datetime.date.__init__(self, year, month, day) > somewhere in here. Yeah; sloppy of me. > I am very surprised that this works, my understanding was that > datetime.date was immutable and required overriding __new__() rather > than __init__(). But it does work... Yeah, come to think of it, that is interesting. A quick test shows that datetime.date is apparently immutable, because it can be used as a dictionary key. But if it's immutable, then __init__ shouldn't work, and, as you say, you gotta go with __new__. I have to admit, I don't completely comprehend the use of __new__, but the discussion at http://www.python.org/download/releases/2.2.3/descrintro/ explained quite a lot. How can you find if a particular object is immutable or not? Or, relatedly, if you wanted to define an object that was immutable, how would you do it? _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor