[Python-Dev] Changing string constants to byte arrays in Py3k
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