Parentheses aren’t necessary, I just prefer them for readability.
See python documentation on boolean operators for reference. Short story is a or b is an expression that evaluates to a if a is “truthy” else b. “Falsy” is empty strings/containers, 0 and None.
Python, checking in …
return (a or b)
Parentheses aren’t necessary, I just prefer them for readability.
See python documentation on boolean operators for reference. Short story is
a or b
is an expression that evaluates toa
ifa
is “truthy” elseb
. “Falsy” is empty strings/containers,0
andNone
.You need to be careful here though. You might not intend for
0
andNone
to mean the same thing.So this won’t do the intended thing if a is 0.
Edit: Sorry I meant to reply to the parent comment, realising now you already write the exact same thing.
Also if a is an empty collection or str, or false.
There was PEP 505 to add a none-aware operator, but it lost support.
That’s a shame, it would have been fitting in “modern” Python along with the walrus and static type system.