On Thu, Jun 18, 2009 at 9:48 PM, Luis N<globoph...@gmail.com> wrote:

>>> I get an error "TypeError: 'rounding' is an invalid keyword argument
>>> for this function" on my list subclass.
>>>
>>> How might I subclass list without this error?
>>>
>>> This is the code:
>>>
>>> class SeriesList(list):
>>>    def __new__(cls, *args, **kwargs):
>>>        series_list = list.__new__(cls, *args)
>>>        series_list.rounding = kwargs.get('rounding', None)
>>>        return series_list

> This is the traceback. I want to let SeriesList know how to round
> moving average series derived from itself.
>
> In [121]: s = SeriesList(rounding=1)
> ---------------------------------------------------------------------------
> TypeError                                 Traceback (most recent call last)
>
> /Users/Luis/Documents/Programming/speculation/<ipython console> in <module>()
>
> TypeError: 'rounding' is an invalid keyword argument for this function

I think you need to define SeriesList.__init__(self, rounding=None).
This function should assign self.round, then __new__() can be just
   def __new__(cls, *args, **kwargs):
       series_list = list.__new__(cls, *args)
       return series_list

Kent
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to