To make a long (and painful) story short, I've got a (large) list of datetimes, and was getting some bizarre errors working with it. One of the things I tried while debugging the problem was verifying that all the elements of the list were indeed datetimes:
In [59]: set(type(foo) for foo in x) Out[59]: set([datetime.datetime]) Well, it turns out, one of them was a timezone-aware datetime, and all the others were naive! I finally figured it out when I tried max(x) and got TypeError: can't compare offset-naive and offset-aware datetimes So, the question is, WHY aren't aware and naive datetimes separate classes? They share many attributes and methods, but not all. It seems like they should both be subclasses of some common BaseDatetime. Was not splitting them into two classes a deliberate design decision? -- http://mail.python.org/mailman/listinfo/python-list