[Python-3000] Consistency of memoryview and bytes object (original) (raw)
Travis Oliphant oliphant.travis at ieee.org
Sun Apr 27 02:49:28 CEST 2008
- Previous message: [Python-3000] Consistency of memoryview and bytes object
- Next message: [Python-3000] Consistency of memoryview and bytes object
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Guido van Rossum wrote:
Hm, yes this seems reasonable. Travis, what do you think of this?
On Sat, Apr 26, 2008 at 1:51 PM, Alexandre Vassalotti <alexandre at peadrop.com> wrote: Would it be a good idea to make memoryview indexing consistent with the behaviour of bytes object?
>>> memoryview(b'hello')[0] bytearray(b'h') >>> b'hello'[0] 104
I'm not sure that we should rush into this. There are reasons for the differences.
The idea is that an "element" of a memory-view object be a bytes object (either a bytearray or a bytes object depending on mutability of the original memoryview object --- seems like it should be a bytes object in this case).
Remember that an "element" of a memory-view object can have more than one byte depending on the format attribute. So, I'm not sure what is gained by special-casing the 1-byte item except possible confusion later.
Perhaps it is useful to special-case this one, but then you lose useful mutability. My feel right now is to not do the special case at all and actually return a memory-view object even for element access (this is especially needed, I think for nested formats which arise in memory-mapping files which provides some very handy io-related functionality). Then, we should leave it to method call to extract a bytes object as desired.
-Travis
- Previous message: [Python-3000] Consistency of memoryview and bytes object
- Next message: [Python-3000] Consistency of memoryview and bytes object
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]