Python 3.x and bytes

Ethan Furman ethan at stoneleaf.us
Tue May 17 14:47:01 EDT 2011


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?

~Ethan~



More information about the Python-list mailing list