yego.me
💡 Stop wasting time. Read Youtube instead of watch. Download Chrome Extension

Variables and assignment | Intro to CS - Python | Khan Academy


4m read
·Nov 10, 2024

When we run a program, the computer executes each instruction line by line. Then, when it finishes with an instruction, it clears out its working memory, so the computer has forgotten what it just did by the time it gets to the next line. But what if we want to remember the result of a calculation across lines? We need a way to tell the computer, “Hey, remember the result of this instruction. This time, I'm going to need this value later.”

To do that, we use variables. A variable is a reserved location in the computer's memory for storing a value. We associate each location with a name, so it's easy for us as the programmers to refer to a specific location later. We can also update the value that a specific name points to over time. Because we have a name, we can ask the computer questions like, “What value do you have stored at location view count right now?”

To create a new variable or update the value stored in an existing variable, we'll use an assignment statement. An assignment statement starts with the name of the variable on the left-hand side, then an equal sign (also called the assignment operator), and on the right-hand side, the value to be stored. We read this statement as, “The Variable view count is assigned the value 324.”

When the computer executes this instruction, it'll go off to its short-term memory and look for a label with the name view count. If it doesn't find one, it'll set aside or allocate a new chunk of its memory and then label that location with the name view count. Finally, it'll store the value on the right-hand side of the assignment operator in that location. If it does find that label, it will allocate a new chunk of memory, store the new value there, and take that label from the old location and move it to point to the new location. That old location is now unreachable; there's no way for you as the programmer to ask about that location in memory anymore because it doesn't have a name. There's no need for the computer to keep this around, so it just erases it.

Anytime we want to access the value stored at a location, we can ask the computer to retrieve it by giving it the name. For example, if I had the instruction print view count, the computer would go find the memory location view count, grab the value stored there, and substitute it in. So, this would print 324.

Remember, instructions in a program execute in order, so the value stored in a certain variable might be different at different points in the program. For example, after the first line executes, the location view count contains the value 324. But after the third line executes, the location view count now contains the value 501. So, when I access view count on line two, this prints 324. But when I access view count on line four, this prints 51.

Note that after line four, when the program terminates, the computer clears out all these locations in memory. That means the next time you run the program, the computer starts fresh again. You can think of variables like mini whiteboards. When you create a new variable, you go off and get a new whiteboard, you give that whiteboard a name, and then you write a value on it to store it there. You can create 100 variables, which means you went off and got 100 different whiteboards.

If you want to know what value is stored on a specific whiteboard named color theme, then you look for the label color theme, grab that whiteboard, and look at the value written on it. If you have a second or third assignment statement for the same variable color theme, the computer doesn't go off and grab a new whiteboard, because then it would have two whiteboards labeled color theme, and that's confusing. Instead, it grabs the existing whiteboard named color theme, erases the old value on the front, and then, in its place, writes down the new value.

When the program terminates, we erase all the whiteboards, peel the labels off the back, and put them neatly back on the shelf where we found them, so they're nice and clean for the next program execution to use.

How might we use variables in a real program? Say we’re building a game. What data might we need to keep track of? Well, we might need to remember the player's current score, what level they're on, and what character they selected. As the program runs, we'll need to update these values over time, like maybe when the player collects an item, their score increases by five. If we want to be able to ask the computer, “What's the player's current score?” at any point in the program, we need to tell the computer to store that value in a variable.

Some games might have hundreds or thousands of different pieces of data that they need to keep track of, which means hundreds or thousands of different variables. Think closely about a piece of technology you use every day, like an app, or a game, or an appliance in your house. What data is it keeping track of? What variables might it have?

As you learn to think like a programmer, you'll start seeing variables everywhere.

More Articles

View All
Graphing hundredths from 0 to 0.1 | Math | 4th grade | Khan Academy
Graph 0.04 on the number line. So here we have this number line that goes from 0 to 0.1, or 1⁄10. Between 0 and 1⁄10, we have 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 equal spaces. Each of these spaces represents 1⁄10 of the distance. It’s 1 out of 10 equal spaces,…
The "Coming of Age" Science Moment | StarTalk
It wasn’t until I was later in high school that I had my first biology tutor who sort of gave me the confidence that I could be a scientist. I was a tutor because you’re acting, correct? Right. So I was on the show Blossom from the… Oh, you were awesome!…
First Duck of Spring (Deleted Scene) | Life Below Zero
[Music] What a beautiful evening it is out here by this lake. Plucking my first duck of the spring, it’s a great time of the year. Lakes are starting to break up, ducks are starting to come back, and I’ve been grinning coming up the creek. I had a great …
Sign of average rate of change of polynomial | Algebra 2 | Khan Academy
So we are given this function h of x, and we’re asked over which interval does h have a positive average rate of change. So, like always, pause this video and have a go at it before we do this together. All right, now let’s work through this together. To…
Does Manifestation Work?
Have you ever heard someone say something along the lines of, “If you want something in life, all you have to do is think about it, visualize it, believe you can have it, and you will?” This is called manifestation or the law of attraction. It’s the idea …
REVERSE PSYCHOLOGY | 13 LESSONS on how to use REJECTION to your favor | Marcus Aurelius STOICISM
Have you ever had a door slammed shut in your face only to realize it was the best thing that could have happened to you? Today, we’re going to explore the skill of overcoming rejection head-on, drawing inspiration from the teachings of the stoic philosop…