Variables: Boxes with Labels
Giving names to values so you can use them later
A box with a label on it
A variable is a labeled box. The line age = 34 means take the value 34 and store it in a box labeled age. From then on, anywhere you write age, Python quietly swaps in 34. You already do this professionally: a client file labeled with a name, a folder labeled Q3 Grades. Label once, refer to it forever.
In Python, = is not the math equals sign. It never asks a question, it gives a command: store the thing on the right under the name on the left. Reading count = count + 1 as math looks impossible, reading it as 'take what is in count, add 1, put the result back in the box' makes perfect sense.
Boxes can be refilled. If you run x = 5 and later x = 8, the box labeled x now holds 8 and the 5 is gone. The label stays, the contents change, exactly like updating a client's session count each week.
Numbers versus text
Python treats 7 and "7" as different things. Without quotes it is a number you can do math with. With quotes it is a string, which is just the coding word for a piece of text. Strings can hold anything typeable: names, notes, emails. Adding two numbers gives a sum, but adding two strings glues them together, so "3" + "4" gives "34".
To weave a variable into a sentence, use an f-string: put an f before the opening quote and wrap the variable in curly braces. With name = "Ada", the line print(f"Hi {name}") shows Hi Ada. Think of it as a form letter where the braces mark the blank to fill in.
Names are for humans. Python is equally happy with s or session_count, but future you, reading this code in three months, will thank you for the descriptive one.
Valid names use letters, numbers, and underscores, with no spaces, and cannot start with a digit. client_count works, 2clients and client count do not.
That is genuinely all a variable is: a name pointing at a value. Every impressive program you have ever used, from scheduling software to your phone's messages, is mostly thousands of these labeled boxes being filled, read, and updated.