Sentry Answers>Python>

Split statements across multiple lines in Python code

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:

Click to Copy
sum = 1 + 2 + 3 + 4 + 5

Into this:

Click to Copy
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:

Click to Copy
sum = (1 + 2 + 3 + 4 + 5)

This also applies to function calls and expressions:

Click to Copy
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:

Click to Copy
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 (\):

Click to Copy
sum = 1 + 2 + 3 \ + 4 + 5 if initialized == True and \ paused == False: run_job(1, False, "Hello world!")
  • Sentry BlogPython Performance Testing: A Comprehensive Guide
  • Syntax.fmListen to the Syntax Podcast
  • Sentry BlogLogging in Python: A Developer’s Guide
  • CodecovPython - Codecov
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

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