[Python-Dev] Changing string constants to byte arrays in Py3k (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Sat May 5 23:20:15 CEST 2007


In general, I don't think it's a good idea to have literals turn into mutable objects, since literals are normally perceived as being constant. Does that mean you want list literals to be immutable too? lst = ['a', 'b', 'c'] lst.append('d') # raises an error?

That's not a literal, it's a display. The difference is that a literal denotes the same object every time it is executed. A display creates a new object every time it is executed. (another difference is that a display is a constructed thing which may contain runtime-computed components, unlike a literal).

So if bytes are mutable and also have source-level representation, they should be displays, not literals.

Regards, Martin



More information about the Python-Dev mailing list