MartinThoma / flake8-simplify

❄ A flake8 plugin that helps you to simplify code
MIT License
185 stars 19 forks source link

SIM109: Multiple comparisons of same variable #11

Closed MartinThoma closed 3 years ago

MartinThoma commented 3 years ago

Explanation

Use the "in" operator and a list / tuple instead of multiple comparisons.

Example

# Bad
if a == b or a == c:
    d

# Good
if a in [b, c]:
    d
MartinThoma commented 3 years ago
        Expr(
            value=BoolOp(
                op=Or(),
                values=[
                    Compare(
                        left=Name(id='a', ctx=Load()),
                        ops=[Eq()],
                        comparators=[Name(id='b', ctx=Load())],
                    ),
                    Compare(
                        left=Name(id='a', ctx=Load()),
                        ops=[Eq()],
                        comparators=[Name(id='c', ctx=Load())],
                    ),
                ],
            ),
        ),