On 01/07/2014 07:19 AM, David Robinow wrote:

Python 3 grudgingly allows the "abomination" of byte strings (is that
what they're called?)

No, that is *not* what they're called. If you find any place in the Python3 docs that does call them bytestrings please submit a bug report.


On 01/07/2014 08:12 AM, Steven D'Aprano wrote:
People trying to port these libraries from 2.7 to 3 run into this problem,
and it causes them grief. This little difference between bytes in 2.7 and
bytes in 3.x is a point of friction which makes porting harder, and I'm
trying to understand the reason for it.

If I recall correctly the way it was explained to me:

bytes (lists, arrays, etc.) is a container, and when a container is indexed you get whatever the container held. If you slice the container you get a smaller container with the appropriate items.

bytes (and bytearrays) are containers of ints, so indexing returns an int. One big problem with this whole scenario is that bytes then lies about what it contains. (And I hate lies! [1])

Anyway, I believe that's the rationale behind the change.

--
~Ethan~

[1] http://www.quickmeme.com/meme/3ts325
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to