In Python 2.6, bytes is str

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Bryan Olson

    In Python 2.6, bytes is str


    Python 3 has the 'bytes' type, which the string type I've long wanted in
    various languages. Among other advantages, it is immutable, and
    therefore bytes objects can be dict keys. There's a mutable version too,
    called "bytearray" .

    In Python 2.6, the name 'bytes' is defined, and bound to str. The 2.6
    assignment presents some pitfalls. Be aware.

    Consider constructing a bytes object as:

    b = bytes([68, 255, 0])

    In Python 3.x, len(b) will be 3, which feels right.

    In Python 2.6, len(b) will be 12, because b is the str, '[68, 255, 0]'.


    I'm thinking I should just avoid using 'bytes' in Python 2.6. If there's
    another Python release between 2.6 and 3.gold, I'd advocate removing
    the pre-defined 'bytes', or maybe defining it as something else.


    --
    --Bryan
Working...