[Python-Dev] PEP 467: Minor API improvements to bytes, bytearray, and memoryview (original) (raw)

Serhiy Storchaka storchaka at gmail.com
Wed Jun 8 05:11:40 EDT 2016


On 08.06.16 02:03, Nick Coghlan wrote:

That said, it occurs to me that there's a reasonably strong composability argument in favour of a view-based approach: a view will work with operator.itemgetter() and other sequence consuming APIs, while special methods won't. The "like-memoryview-but-not" view type could also take any bytes-like object as input, similar to memoryview itself.

Something like:

class chunks: def init(self, seq, size): self._seq = seq self._size = size

 def __len__(self):
     return len(self._seq) // self._size

 def __getitem__(self, i):
     chunk = self._seq[i: i + self._size]
     if len(chunk) != self._size:
         raise IndexError
     return chunk

(but needs more checks and slices support).

It would be useful for general sequences too.



More information about the Python-Dev mailing list