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!")
- Sentry BlogPython Performance Testing: A Comprehensive Guide (opens in a new tab)
- Syntax.fmListen to the Syntax Podcast (opens in a new tab)
- Sentry BlogLogging in Python: A Developer’s Guide (opens in a new tab)
- CodecovPython - Codecov (opens in a new tab)
- Listen to the Syntax Podcast (opens in a new tab)
![Syntax.fm logo]()
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 150,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.
