[Numpy-discussion] my derived ndarray class object loses its attribute after a transpose()
Pierre GM
pgmdevlist@gmail....
Fri Nov 23 10:07:21 CST 2007
> First try seems to show that just changing my class def to:
> class ndarray_inMrcFile(N.memmap):
> def __array_finalize__(self,obj):
> self.Mrc = getattr(obj, 'Mrc', None)
>
> Seems to add the wanted attribute back into result of transpose().
Yep. Specific subclass attributes should be defined in __array_finalize__.
> However now I get (many!) exceptions like:
> Exception exceptions.AttributeError: "'ndarray_inMrcFile' object has no
> attribut e '_mmap'" in <bound method ndarray_inMrcFile.__del__ of
> ndarray_inMrcFile([ 6,....
>
> Do I need to call super.__array_finalize__(obj) first ?
Nope, you just need a __new__ that calls the __new__ of you parent class. Keep
it minimal.
More information about the Numpy-discussion
mailing list