An expression is code that evaluates to a value. It can use values directly, such as `3 + 2`, or names whose values are already known, such as `b - c`. To find its result, substitute each name’s value and carry out the operation. section 4.1 section 5.3
Give a result a name
If `a = 1` and `b = 2`, then `c = a + b` evaluates the expression `a + b` as `1 + 2`, then assigns the result, `3`, to `c`. Unlike a math equation, Python assignment needs a variable name on the left; `a + x = b` does not ask the computer to solve for `x`. section 4.1 section 4.3
An expression and a statement are not quite the same thing. `2.7 - 1` is both: it is a line of code and has a value. `a = 5 + 6` is a statement containing an expression, but the assignment itself is not an expression. Likewise, `print(21)` is a statement; printing is an action, not a value. section 5.3
Show an expression’s result
Try `print(13 - 1)`. Python evaluates `13 - 1` first, then prints its value. You can also print string expressions: `print(3 * "a")` shows `aaa`. Quick check: what would `print("abc" + "def")` show? section 11.1










