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

M.-A. Lemburg mal at egenix.com
Sat May 5 21:47:45 CEST 2007


On 2007-05-05 18:11, Steven Bethard wrote:

On 5/5/07, M.-A. Lemburg <mal at egenix.com> wrote:

On 2007-05-04 19:51, Guido van Rossum wrote: > [-python-dev] > > On 5/4/07, Fred L. Drake, Jr. <fdrake at acm.org> wrote: >> On Friday 04 May 2007, M.-A. Lemburg wrote: >> > I also suggest making all bytes literals immutable to avoid running >> > into any issues like the above. >> >> +1 from me. > > Rather than adding immutability to bytes objects (which has big > implementation and type checking implications), consider using > buffer(b"123") as an immutable bytes literal. You can freely > concatenate and compare buffer objects with bytes objects.

I like Georg's idea of having an immutable bytes subclass. b"abc" could then be a shortcut constructor for this subclass. 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?

Sorry, I was referring to Python literals:

http://docs.python.org/ref/literals.html

ie. strings and numeric constant values defined in a Python program.

-- Marc-Andre Lemburg eGenix.com

Professional Python Services directly from the Source (#1, May 05 2007)

Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/


:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::

eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611



More information about the Python-Dev mailing list