]> granicus.if.org Git - python/commitdiff
kill memoryview.size in favor of len(view)
authorBenjamin Peterson <benjamin@python.org>
Wed, 10 Sep 2008 21:47:03 +0000 (21:47 +0000)
committerBenjamin Peterson <benjamin@python.org>
Wed, 10 Sep 2008 21:47:03 +0000 (21:47 +0000)
Reviewer: Antoine Pitrou #3827

Doc/library/stdtypes.rst
Lib/test/test_memoryview.py
Misc/NEWS
Objects/memoryobject.c

index ea00a43218866be3349e5cf88281f8ea614d1032..e8dbc2da9ced09d975af04264bdad8b8aea1fc78 100644 (file)
@@ -2246,6 +2246,8 @@ simple bytes or complex data structures.
    buffer protocol.  Builtin objects that support the buffer protocol include
    :class:`bytes` and :class:`bytearray`.
 
+   ``len(view)`` returns the total number of bytes in the memoryview, *view*.
+
    A :class:`memoryview` supports slicing to expose its data.  Taking a single
    index will return a single byte.  Full slicing will result in a subview::
 
@@ -2322,10 +2324,6 @@ simple bytes or complex data structures.
       A tuple of integers the length of :attr:`ndim` giving the size in bytes to
       access each element for each dimension of the array.
 
-   .. attribute:: size
-
-      The number of bytes in the buffer.  Also available as ``len(view)``.
-
    .. memoryview.suboffsets isn't documented because it only seems useful for C
 
 
index 0f6fc5534a3f9f66df59e59ccbd2389ec38ecee0..93a3fcb55de327e70dda6eb32b5614c9c40584b1 100644 (file)
@@ -146,7 +146,7 @@ class CommonMemoryTests:
         self.assertEquals(m.itemsize, 1)
         self.assertEquals(m.ndim, 1)
         self.assertEquals(m.shape, (6,))
-        self.assertEquals(m.size, 6)
+        self.assertEquals(len(m), 6)
         self.assertEquals(m.strides, (1,))
         self.assertEquals(m.suboffsets, None)
         return m
index 21d269bdef2f0b7010b24f5d89d8383ae635d620..c2734c8b9499fbe4e5bb92b076eed3712cac9090 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@ What's New in Python 3.0 release candidate 1
 Core and Builtins
 -----------------
 
+- Issue #3827: memoryview lost its size attribute in favor of using len(view).
+
 - Issue #3813: could not lanch python.exe via symbolic link on cygwin.
 
 - Issue #3705: fix crash when given a non-ascii value on the command line for
index fbb1af65d6bd98f1741a3b3b72a9cdb6bfa86fb8..32e5c4473878b1286bd8b678df9b872d863218ff 100644 (file)
@@ -369,12 +369,6 @@ memory_suboffsets_get(PyMemoryViewObject *self)
         return _IntTupleFromSsizet(self->view.ndim, self->view.suboffsets);
 }
 
-static PyObject *
-memory_size_get(PyMemoryViewObject *self)
-{
-        return PyLong_FromSsize_t(self->view.len);
-}
-
 static PyObject *
 memory_readonly_get(PyMemoryViewObject *self)
 {
@@ -393,7 +387,6 @@ static PyGetSetDef memory_getsetlist[] ={
         {"shape",      (getter)memory_shape_get,       NULL, NULL},
         {"strides",    (getter)memory_strides_get,     NULL, NULL},
         {"suboffsets", (getter)memory_suboffsets_get,  NULL, NULL},
-        {"size",       (getter)memory_size_get,        NULL, NULL},
         {"readonly",   (getter)memory_readonly_get,    NULL, NULL},
         {"ndim",       (getter)memory_ndim_get,        NULL, NULL},
         {NULL, NULL, NULL, NULL},