W3docs

Styling multi-line conditions in 'if' statements?

In Python, there are a few different ways to style multi-line conditions in if statements, depending on the complexity of the condition and personal preference.

In Python, there are a few different ways to style multi-line conditions in if statements, depending on the complexity of the condition and personal preference.

<div class="alert alert-info flex not-prose">Watch a course <span class="hidden md:block">Watch a video course </span> Python - The Practical Guide</div>

PEP 8 strongly prefers using parentheses to group conditions. This is called implicit line continuation and is the most readable and Pythonic approach:

if (condition1 and
    condition2 and
    condition3):
    # Do something

Hanging Indent or Aligned Closing Parenthesis

You can also align the continuation lines with the opening parenthesis, or use a hanging indent where the first line ends with an operator and subsequent lines are indented further:

if (condition1 and
        condition2 and
        condition3):
    # Do something

Explicit Line Continuation (Backslash)

While you can use a backslash \ at the end of each line to indicate that the statement continues on the next line, PEP 8 discourages this approach because it is error-prone (e.g., trailing spaces break the continuation) and less readable than parentheses:

if condition1 and \
   condition2 and \
   condition3:
    # Do something

It's important to note that when using backslashes or parentheses, you should be consistent in your use of whitespace. You should choose the one that you find most readable and easy to understand, and be consistent with it throughout your codebase.