Python 3.x and bytes

MRAB python at mrabarnett.plus.com
Tue May 17 15:39:12 EDT 2011


On 17/05/2011 19:47, Ethan Furman 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 follows the example of 'list' and 'tuple' in accepting an
iterable.

Producing a bytestring of zero bytes might have its uses, but because
Python lets me do coding at a high level (lists, dicts, etc), I've
never used that feature.

BTW, help(bytes) doesn't seem to mention it!



More information about the Python-list mailing list