Split statements across multiple lines in Python code

David Y.

The Problem

When writing Python code, I sometimes need to split statements or expressions across multiple lines for readability. Considering that Python uses meaningful whitespace, how can I do this while preserving the meaning of the code? For example, I would like to turn this code:

sum = 1 + 2 + 3 + 4 + 5

Into this:

sum = 1 + 2 + 3 + 4 + 5

The Solution

Python allows code within parentheses (()), brackets ([]) or braces ({}) to be written across multiple lines with arbitrary indentation. For example:

sum = (1 + 2 + 3 + 4 + 5)

This also applies to function calls and expressions:

if (initialized == True and paused == False): run_job(1, False, "Hello world!")

List definitions, which use brackets, and dictionary definitions, which use braces, can be written across multiple lines in the same way and for the same reason:

products = ["Apples", "Oranges"] product_prices = {"Apples": 1, "Oranges": 2}

Per PEP-008, using parenthesis, brackets, and braces is the preferred way of continuing long lines. An alternative method is to use a single backslash (\):

sum = 1 + 2 + 3 \ + 4 + 5 if initialized == True and \ paused == False: run_job(1, False, "Hello world!")
Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedin
© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.