On Mon, Apr 18, 2011 at 8:58 PM, Westley Martínez <aniko...@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 <ran...@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 > -- http://mail.python.org/mailman/listinfo/python-list