Bytes indexing returns an int

Grant Edwards invalid at invalid.invalid
Tue Jan 7 21:34:29 EST 2014


On 2014-01-08, Chris Angelico <rosuav at gmail.com> wrote:
> On Wed, Jan 8, 2014 at 11:15 AM, Steven D'Aprano
><steve+comp.lang.python at pearwood.info> wrote:
>> Why decide that the bytes type is best considered as a list of
>> bytes rather than a string of bytes? It doesn't have any list methods, it
>> looks like a string and people use it as a string. As you have discovered,
>> it is an inconvenient annoyance that indexing returns an int instead of a
>> one-byte byte-string.
>>
>> I think that, in hindsight, this was a major screw-up in Python 3.
>
> Which part was?

The fact that b'ASDF'[0] in Python2 yeilds something different than it
does in Python3 -- one yields b'A' and the other yields 0x41.  It
makes portable code a lot harder to write.  I don't really have any
preference for one over the other, but changing it for no apparent
reason was a horrible idea.

-- 
Grant



More information about the Python-list mailing list