Python 3.x and bytes
Ian Kelly
ian.g.kelly at gmail.com
Tue May 17 15:20:32 EDT 2011
On Tue, May 17, 2011 at 12:47 PM, Ethan Furman <ethan at stoneleaf.us> wrote:
> In Python 3 one can say
>
> --> huh = bytes(5)
>
> Since the bytes type is actually a list of integers, I would have expected
> this to have huh being a bytestring with one element -- the integer 5.
> Actually, what you get is:
>
> --> huh
> b'\x00\x00\x00\x00\x00'
>
> or five null bytes. Note that this is an immutable type, so you cannot go
> in later and say
>
> --> huh[3] = 9
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: 'bytes' object does not support item assignment
>
>
> So, out of curiosity, does anyone actually use this, um, feature?
I suppose it's for interoperability with the mutable bytearray type,
which takes the same parameters in the constructor.
More information about the Python-list
mailing list