On Wednesday 14 May 2008 13:19:55 Eric Firing wrote: > Pierre GM wrote: > > (almost) equivalent [1]: > >>>> mydata._data > >>>> mydata.view(np.ndarray) > > Shouldn't the former be discouraged, on the grounds that a leading > underscore, by Python convention, indicates an attribute that is not > part of the public API, but is instead part of the potentially > changeable implementation?
Eric, * Please keep the note [1] in mind: the two commands are NOT equivalent: the former outputs a subclass of ndarray (when appropriate), the latter a regular ndarray. * You can use mydata.data to achieve the same result as mydata._data. In practice, both _data and data are properties, without a fset method and a with fget= lambda x:x.view(x._baseclass). I'm not very comfortable with using .data myself, it looks a bit awkward (personal taste), and it may let a user think that the readbuffer object is accessed (when in fact, it's mydata.data.data...) * The syntax ._data is required for backwards compatibility (that was the data portion of the old MaskedArray object). So is ._mask * You can also use the getdata(mydata) function: it returns the ._data part of a masked array or the argument as a ndarray, depending which is available. _______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
