Greetings *.*:<br><br>The following program caused an error and puzzled me to no end. Any help<br>immensely appreciated.<br><br>(Thanks)^2<br><br>- Yet Another Dummy Python User<br><br>(Python version:<br>  Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32<br>
)<br><br>-------------------------------------------------------------------------------------------<br>from datetime import date<br><br>#------------------------------------------------------------<br><br>class First(date):<br>
  def __init__(self, y, m, d):<br>    date.__init__(self, y, m, d)<br><br>class Second(First):<br>  def __init__(self, datestr):<br>    y = int(datestr[0:4])<br>    m = int(datestr[4:6])<br>    d = int(datestr[6:8])<br>    First.__init__(self, y, m, d)<br>
<br>#------------------------------------------------------------<br><br>class One(object):<br>  def __init__(self, y, m, d):<br>    self.y = y<br>    self.m = m<br>    self.d = d<br><br>class Two(One):<br>  def __init__(self, datestr):<br>
    y = int(datestr[0:4])<br>    m = int(datestr[4:6])<br>    d = int(datestr[6:8])<br>    One.__init__(self, y, m, d)<br><br>#------------------------------------------------------------<br># Do this and you get an error:<br>
#     a = Second("20060201")<br># TypeError: function takes exactly 3 arguments (1 given)<br># Why?<br><br>a = Second("20060201")<br>print a <br><br>#------------------------------------------------------------<br>
# By comparison, do this and there's no error.<br><br>b = Two("20060301")<br><br>print b<br><br><br>