this post was submitted on 08 Dec 2023
622 points (96.4% liked)
Programmer Humor
32745 readers
104 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Python:
return a or b
i like it because it reads like a sentence so it somewhat makes sense
and you can make it more comprehensive if you want to:
return a if a is not None else b
This diverges from the OP code snippets if a has the value
False
.I personally dislike this because when you read "or" you expect some boolean result not a random object :/
there's always the second option for you
For newer python people, they see return a or b and typically think it returns a boolean if either is True. Nope. Returns a if a is truthy and then checks if b is truthy. If neither are truthy, it returns b.
Not quite. If
a
is not truthy, then the expressiona or b
will always returnb
.So, there is never any reason to check the truthiness of
b
.you can paste this in your repl to confirm it does not.
spoiler output
:::
Ah, good catch.