How to declare a long string in Python?

Solution 1:

You can also do this, which is nice because you have better control over the whitespace inside of the string:

long_string = (
    'Lorem ipsum dolor sit amet, consectetur adipisicing elit, '
    'sed do eiusmod tempor incididunt ut labore et dolore magna '
    'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '
    'ullamco laboris nisi ut aliquip ex ea commodo consequat. '
    'Duis aute irure dolor in reprehenderit in voluptate velit '
    'esse cillum dolore eu fugiat nulla pariatur. Excepteur sint '
    'occaecat cupidatat non proident, sunt in culpa qui officia '
    'deserunt mollit anim id est laborum.'
)

Solution 2:

long_string = '''
this is a really
really
really
long
string
'''

""" does the same thing.

Solution 3:

You can use either

long_string = 'fooo' \
'this is really long' \
'string'

or if you need linebreaks

long_string_that_has_linebreaks = '''foo
this is really long
'''

Solution 4:

I was also able to make it work like this.

long_string = '\
this is a really \
really \
really \
long \
string\
'

I can't find any online references to this way of constructing a multi-line string. I don't know if it's correct. My suspicion is that python is ignoring the newline because of the backslash? Maybe someone can shed light on this.