[Tutor] Subclassing list
Kent Johnson
kent37 at tds.net
Fri Jun 19 04:56:53 CEST 2009
On Thu, Jun 18, 2009 at 9:48 PM, Luis N<globophobe at 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
More information about the Tutor
mailing list