split long string in two code lines

Tim Chase python.list at tim.thechases.com
Mon Jun 13 18:33:35 EDT 2011


On 06/13/2011 04:55 PM, Tycho Andersen wrote:
> On Mon, Jun 13, 2011 at 11:31:29PM +0200, Tracubik wrote:
>> 4            print "this is a very long string that i'm going to
>> write 5 here, it'll be for sure longer than 80 columns"
>>
>> Is there a better way to split the string?
>
> There is! Python (as C) concatenates string literals with nothing in
> between them.
>
>>>> def foo():
> ...     print "this is not such a huge line " \
> ...           "but it's still pretty long"
> ...
>>>> foo()
> this is not such a huge line but it's still pretty long

Python also treats consecutive strings as a single string, so you 
can do things like

   print ("this is not "
     "such a huge line "
     "even though it has "
     "lots of text in it."
     )

I tend to put the closing paren on its own line just to minimize 
noise in my VCS diffs when the text changes.  Truth be told, I 
often put the opening paren separate from the text:

   print (
     "this is not "
     "such a huge line "
     "even though it has "
     "lots of text in it."
     )

for the same reason, even though I know some folks on the list 
occasionally grouse about dangling-parens.

-tkc






More information about the Python-list mailing list