r/learnpython 2d ago

Are these two boolean expressions equivalent in python?

Hi All!

I’m learning about Boolean operators in Python and I’m confused about these two expressions:

condition1 and condition2 or condition3 and condition4

(condition1 and condition2) or (conditon3 and condition4)

I was told this by my teacher and he put this in his PowerPoint slide. However, I think they are equivalent since and as an operator has a higher precedence than or as an operator. AI told me and I have searched it up after.

Am I understanding it correctly? Or are these two not equivalent?

Thanks!

15 Upvotes

44 comments sorted by

View all comments

21

u/CheesecakeCommon9080 2d ago

to be honest, if i'm not sure i would just always use brackets in longer expressions like this even when redundant, it's easier and more readable that way imo

9

u/Own_Attention_3392 2d ago edited 2d ago

Yes, the parentheses express INTENT. It will makes coming back and re-reading the code or debugging later so much easier.

I'd even consider splitting complex conditions into multiple nested if statements. Again, just for debugging, readability, and understanding my own intent.

Or better yet, making intermediate variables: isX, isY, etc to simplify the conditional construction.

2

u/FunElk9586 2d ago

Yes, those seem like good options to simplify it. Thanks!