The Python Oracle

Is it possible to break a long line to multiple lines in Python?

--------------------------------------------------
Hire the world's top talent on demand or became one of them at Toptal: https://topt.al/25cXVn
and get $2,000 discount on your first invoice
--------------------------------------------------

Music by Eric Matyas
https://www.soundimage.org
Track title: Lost Jungle Looping

--

Chapters
00:00 Is It Possible To Break A Long Line To Multiple Lines In Python?
00:17 Accepted Answer Score 782
01:23 Answer 2 Score 24
01:34 Answer 3 Score 254
02:20 Answer 4 Score 52
02:36 Thank you

--

Full question
https://stackoverflow.com/questions/4172...

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#python #linebreaks

#avk47



ACCEPTED ANSWER

Score 782


From PEP 8 - Style Guide for Python Code:

The preferred way of wrapping long lines is by using Python's implied line continuation inside parentheses, brackets and braces. If necessary, you can add an extra pair of parentheses around an expression, but sometimes using a backslash looks better. Make sure to indent the continued line appropriately.

Example of implicit line continuation:

a = (
    '1'
    + '2'
    + '3'
    - '4'
)


b = some_function(
    param1=foo(
        "a", "b", "c"
    ),
    param2=bar("d"),
)

On the topic of line breaks around a binary operator, it goes on to say:

For decades the recommended style was to break after binary operators. But this can hurt readability in two ways: the operators tend to get scattered across different columns on the screen, and each operator is moved away from its operand and onto the previous line.

In Python code, it is permissible to break before or after a binary operator, as long as the convention is consistent locally. For new code Knuth's style (line breaks before the operator) is suggested.

Example of explicit line continuation:

a = '1'   \
    + '2' \
    + '3' \
    - '4'



ANSWER 2

Score 254


There is more than one way to do it.

1). A long statement:

>>> def print_something():
         print 'This is a really long line,', \
               'but we can make it across multiple lines.'

2). Using parenthesis:

>>> def print_something():
        print ('Wow, this also works?',
               'I never knew!')

3). Using \ again:

>>> x = 10
>>> if x == 10 or x > 0 or \
       x < 100:
       print 'True'

Quoting PEP8:

The preferred way of wrapping long lines is by using Python's implied line continuation inside parentheses, brackets and braces. If necessary, you can add an extra pair of parentheses around an expression, but sometimes using a backslash looks better. Make sure to indent the continued line appropriately. The preferred place to break around a binary operator is after the operator, not before it.




ANSWER 3

Score 52


If you want to assign a long string to variable, you can do it as below:

net_weights_pathname = (
    '/home/acgtyrant/BigDatas/'
    'model_configs/lenet_iter_10000.caffemodel')

Do not add any comma, or you will get a tuple which contains many strings!




ANSWER 4

Score 24


It works in Python too:

>>> 1+\
      2+\
3
6
>>> (1+
          2+
 3)
6