Subclassing hidden class
Alex Martelli
aleaxit at yahoo.com
Mon Feb 17 09:36:33 EST 2003
John Smith wrote:
> Is there a quick way to subclass that usually use a constructor function
> to return objects?
> For example,
>
>>>> import numarray
>>>> class myarray(numarray.array):
> pass
>
> Traceback (most recent call last):
> File "<pyshell#36>", line 1, in ?
> class myarray(numarray.array):
> TypeError: cannot create 'function' instances
>
> I know there is probably a way to subclass numarray.array by tracing the
> sorce code. But I wonder if
> there is a better way.
Only if a type WANTS to be subclassed, can you subclass it. I.e.:
you can try
class myarray(type(numarray.array(0))):
pass
but that will work if and ONLY if that type is set up to allow you to
subclass it.
> Or, is there an easier way to create a wrapper class without define all
> the methods? Thanks
Sure, http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52295
I discuss it a bit better in the printed edition of the Cookbook, but
I think the key idea is well exhibited even in this online version.
Alex
More information about the Python-list
mailing list