"Byte" type?

Steve Holden steve at holdenweb.com
Sat Feb 21 10:01:30 EST 2009


John Nagle wrote:
> Steve Holden wrote:
>> John Nagle wrote:
>>> Benjamin Kaplan wrote:
>>>> On Sun, Feb 15, 2009 at 11:57 AM, John Nagle <nagle at animats.com> wrote:
>>>>
> ...Re "bytes" not behaving as documented in 2.6:
> 
>>>    That's indeed how Python 2.6 works.  But that's not how
>>> PEP 3137 says it's supposed to work.
>>>
>>> Guido:
>>>
>>>  "I propose the following type names at the Python level:
>>>
>>>         * bytes is an immutable array of bytes (PyString)
>>>         * bytearray is a mutable array of bytes (PyBytes)"
> ...
>>> (Not true in Python 2.6
>>> Is this a bug, a feature, a documentation error, or bad design?
>>>
>> It's a feature. In fact all that was done to accommodate easier
>> migration to 3.x is easily shown in one statement:
>>
>>>>> str is bytes
>> True
>>
>> So that's why bytes works the way it does in 2.6 ... hence my contested
>> description of it as an "ugly hack". I am happy to withdraw "ugly", but
>> I think "hack" could still be held to apply.
> 
>    Agreed.  But is this a 2.6 thing, making 2.6 incompatible with 3.0, or
> what?  How will 3.x do it?  The PEP 3137 way, or the Python 2.6 way?
> 
>    The way it works in 2.6 makes it necessary to do "ord" conversions
> where they shouldn't be required.
> 
Yes, the hack was to achieve a modicum of compatibility with 3.0 without
having to turn the world upside down.

I haven't used 3.0 enough the say whether bytearray has been correctly
implemented. But I believe the intention is that 3.0 should fully
implement PEP 3137.

regards
 Steve
-- 
Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC              http://www.holdenweb.com/




More information about the Python-list mailing list