I wrote a brief answer about this previously that may help. In particular the link to an SO question may provide you with answers as to why they’re often used-
Did you ever get a response? I’ve felt stuck a number of times already on exercises where the course seemingly makes leaps, and includes concepts that haven’t been covered. It usually amounts to small details, but it’s as though the original author just assumes that the reader just knows these small details without having covered them. Super frustrating when you find out your code would have worked, but the course was looking for a more streamlined answer using a technique that wasn’t shown before.
This thread is a good example. The OP showed code exactly as I wrote it, the same way we were shown thus far in the course. It was not correct. Only thru the knowledge of this reply did I figure out that the course was looking for an answer written in a way that was not yet taught.
Edit: in reading this link again, I’m even more sure that there are assumptions being made. “preferring return expressions over literals” is never made clear or even explained in a lesson, however in the exercise in this topic the statement
" * If so, return True if the max_size is greater than self.get_size()"
the course explicitly TELLS us to return a boolean, and then looks for a returned expression.