[Numpy-discussion] Array subclassing - question for Travis
Matthew Brett
matthew.brett at gmail.com
Wed Aug 27 06:03:14 EDT 2008
Hi Travis and team,
I am just writing some docs for subclassing, and ran into some
behavior I didn't understand:
In [143]: class A(np.ndarray): pass
In [144]: arr = np.arange(5)
In [145]: obj = arr.copy().view(A)
In [146]: type(obj)
Out[146]: <class '__main__.A'>
In [147]: obj.__array_priority__ # shouldn't this be 1.0 by default
(from the numpy book)?
Out[147]: 0.0
In [148]: type(np.multiply(arr, obj)) # this is what I expected
Out[148]: <class '__main__.A'>
In [149]: type(np.multiply.outer(arr, obj)) # this is not - I expected
class A again
Out[149]: <type 'numpy.ndarray'>
In [151]: class A(np.ndarray): __array_priority__ = 20.0 # setting
array priority does not affect behavior
In [152]: obj = arr.copy().view(A)
In [153]: type(np.multiply.outer(arr, obj))
Out[153]: <type 'numpy.ndarray'>
Is this what you would expect? Thanks for clarification, and
apologies if I misunderstood...
Matthew
More information about the NumPy-Discussion
mailing list