[Tutor] working with strings in python3

Benjamin Kaplan benjamin.kaplan at case.edu
Tue Apr 19 03:23:57 CEST 2011


On Mon, Apr 18, 2011 at 8:58 PM, Westley Martínez <anikom15 at gmail.com> wrote:
> On Tue, 2011-04-19 at 10:34 +1000, James Mills wrote:
>> On Tue, Apr 19, 2011 at 10:17 AM, Rance Hall <ranceh at gmail.com> wrote:
>> > pseudo code:
>> >
>> >
>> > message = "Bah."
>> >
>> > if test:
>> >   message = message + " Humbug!"
>> >
>> > print(message)
>> >
>> > end pseudo code
>>
>> Normally it's considered bad practise to concatenate strings.
>> Use a a format specifier like this:
>>
>> > message = "Bah."
>> >
>> > if test:
>> >   message = "%s %s" (message, " Humbug!")
>> >
>> > print(message)
>>
>> Python3 (afaik) also introduced the .format(...) method on strings.
>>
>> cheers
>> James
>>
>> --
>> -- James Mills
>> --
>> -- "Problems are solved by method"
>
> How is concatenating strings bad practice?  I use code such as:
>
> string = 'hello'
> string += ' children.'
>
> a lot.
>

Python's strings are immutable. So adding strings together has to
allocate memory for each intermediate string. Not a big deal if you're
just concatenating two strings, but if you have a whole bunch of long
strings, it's much more efficient and much faster to use string
formatting which just allocates memory for the final string and then
puts everything in.
> --
> http://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list