[SciPy-dev] [SciPy-user] 'object_arrtype' problem
oliphant.travis at ieee.org
Thu Dec 8 11:20:02 CST 2005
Ryan Krauss wrote:
>I am having a problem very similar to one Chris Fonnesbeck was having
>a few days ago. I have a list of user defined objects. I also want
>to allow for the passing of a scalar to this particular function, so I
>call atleast_1d on the list/scalar and then iterate over it. After I
>call atleast_1d, indexing the list returns object_arrtype. One
>interesting thing is that I have redefined __repr__ for this object,
>and that method seems to be called correctly, but trying to access any
>other property of the object causes messages like "*** AttributeError:
>'object_arrtype' object has no attribute 'dof'". Here is a pdb
>session just before and after atleast_1d is called. Is this a bug or
>should I be doing this differently with new scipy (this code worked
>fine with old scipy).
I think the object scalars need a little more work. There is a valid
question whether to have them at all.
What these scalars do is unify the methods of scalars and arrays.
Without them, then object arrays would have different selection
semantics then non-object arrays. Perhaps this would be a "good" thing.
At any rate, you can always get the underlying object the object-scalar
wraps using the toscalar() method.
I think a very natural thing-to-do, though, which would clear up these
issues and leave the object scalar around is to hand off behavior of
the object to the underlying object in all cases.
More information about the Scipy-dev