[Python-Dev] idea for data-type (data-format) PEP
Alexander Belopolsky
alexander.belopolsky at gmail.com
Fri Nov 3 02:55:41 CET 2006
On Nov 2, 2006, at 8:04 PM, Greg Ewing wrote:
>
> I think the datatype object should almost certainly
> be immutable. Since it's separated from the data
> it's describing, it's possible for one datatype
> object to describe multiple chunks of data. So
> you wouldn't want to mutate one in case it's being
> used for something else that you don't know about.
I only mentioned that the datatype object would be mutable at C level
because changing the object instead of deleting and creating a new
one could be a valid optimization in situations where the object is
know not to be shared.
My main concern was that in ctypes the size of an array is a part of
the datatype object and this seems to be redundant if used for the
buffer protocol. Buffer protocol already reports the size of the
buffer as a return value of bf_get*buffer methods.
In another post, Greg Ewing wrote:
> > numpy.array(array.array('d',[1,2,3]))
> >
> > and leave-out the buffer object all together.
> I think the buffer object in his example was just a
> placeholder for "some arbitrary object that supports
> the buffer interface", not necessarily another NumPy
> array.
Yes, thanks. In fact numpy.array(array.array('d',[1,2,3])) already
works in numpy (I think because numpy knows about the standard
library array type). In my example, I wanted to use an object that
supports buffer protocol and little else.
More information about the Python-Dev
mailing list