Why can't I subclass off of "date" ?

davidfinance at gmail.com davidfinance at gmail.com
Thu Aug 24 14:42:39 EDT 2006


Ok, maybe this is a stupid question, but why can't I make a subclass of
datetime.date and override the __init__ method?

---

from datetime import date

class A(date):
    def __init__(self, a, b, c, d):
        print a, b, c, d
        date.__init__(self, 2006, 12, 11)

d = A(1, 2, 3, 4)

---

$ python break_date.py
Traceback (most recent call last):
  File "break_date.py", line 9, in ?
    d = A(1, 2, 3, 4)
TypeError: function takes exactly 3 arguments (4 given)


If I make A a subclass of some toy class that is constructed with three
arguments, it works fine.  Why can't I make "date" the subclass?

Thanks for any advice.

David




More information about the Python-list mailing list