There would be no point to assigning static values in an expressions. If that's what you're going to do, you don't need expressions, because you could just as well set an attribute's value directly. You use expressions you want to change the value of an attribute over time.
You could just use the functions directly, like this:
Variables allow temporarily storing a value, perhaps for reuse later, but most importantly, they allow us to write cleaner, easier to maintain code. Where you can say; assign a value to an attribute, and figure out what that value is in some other part of the code, so that I can separate the two actions of finding and assigning the values.
So then we get
Now, I can change my expression to make my object move in circles rather than moving completely randomly by changing ONLY the part of the code where I find the translation values and leave the part where I assign them the same.