 Welcome back. My name is Brian. We're going to continue our conversation about Python three, whatever IDE you're using, go ahead and make a new file and give it some type of name. I'm just going to name it playground, not really important which name it you just need some sort of file you can play around in. Remember, these videos assume you have no experience. So we're literally starting with a blank slate. The first thing you're going to learn is what is a variable? I'm going to write this out here. Well, a variable is simply something that will change. For example, if I declare a variable named x, I have to assign this some sort of value. Go ahead and try and print x out, see what happens here. Notice is going to have some sort of error. It's gonna say name error, name x is not defined. What does that mean? Well, clearly, we defined it. It's right here. Really, what Python's trying to tell you is that it doesn't really have any sort of value. So I'm going to say 42. Now, let's go ahead and rerun this. Notice how suddenly it says 42. So if you get a is not defined, really, what you're saying is you have not set that value. You notice how this is a number. And this is what I mean by a variable is something that will change. I could have very easily said cats. Notice how cats is a string. A string is just a series of characters, but it's not a number is the point I'm driving home here. And if we run this, it works just fine. So under the hood, what you have going on here is Python knows it's smart enough to know what type of information we're storing in this variable. And we can change it at a moment's notice. So for example, we have x equals cats. And let's just grab this little copy and paste action. And we'll say x equals hmm, I need some sort of number. Why not? And the ID is not happy with me. It's saying invalid token. I'm just gonna get rid of that zero. Maybe that'll clear it out. Nope, will not. Let's go ahead. There goes. Let's run this. You know how it says cats, and then it's got a number. So we can take the same variable and change it. And Python is smart enough under the hood to know that x is a string, and x is an integer. So what we're really diving into, and we're going to spend a lot of time talking about this is data types. And when I say a lot of time, I'm going to have to break this into multiple videos, because each data type, whether it's a string, or a number like an integer here, has different properties that you can access. So the short answer to what is a variable is just simply that it's something that will change. That's it. It's that simple. A lot of instructors are going to take like months and months and months to explain what a variable is and how it lives in memory and blah, blah, blah. But as a programmer, we don't care about any of that. We just want it to work. And this is computer programming 101. You declare some type of variable, you set the value, and that value has some sort of type. And with that type, you can now work with it. Interesting note here, if you're coming from another language, or if you know a little bit about programming, Python, you do not have to declare the data type. For example, in other languages, you may have to say something like int x equals three. So what we're really doing here is we're stating or telling the interpreter, this is the data type we're going to work with, we don't have to do that Python, it's smart enough to figure it out on its own. Okay, let's take a little detour down to theory land. Now, what we're going to talk about is dynamic and strong typed Python is both and this is often confusing for people, especially coming from other languages. As you saw, we don't have to declare the data type Python smart enough to know in other languages, you do have to declare and that gets super confusing to people. So we're often asked this question, why is Python a dynamic language and also a strongly typed language? And what are those two things really, really mean dynamic means just that it's dynamic, you don't have to declare a variable type and you can change that at a moment's notice, as you saw right here, we went from a string to a variable. And it's smart enough to keep track of everything for us and no errors were thrown. Other languages, you're going to get a huge error because we're saying once you declare this as a data type, it can never be anything different. That gets kind of convoluted. Best answer here is Python is a strongly typed language as interpreter keeps track of all variable types, meaning the interpreter Python itself is smart enough to know what you want it to do. But it is also guaranteeing under the hood that once you assign it, it's going to stay that variable type until you overwrite it or change it. Remember, a variable is something that will change. And with Python, that's very, very true because you can change it to a completely different data type. A lot of other languages, you simply can't do that. I hope you enjoyed this video, you can find the source code out on github.com. If you need additional help, myself and thousands of other developers are hanging out in the void realms Facebook group. This is a large group with lots of developers and we talk about everything technology related, not just the technology that you just watched. And if you want official training, I do develop courses out on udemy.com. This is official classroom style training. If you go out there and the course you're looking for is just simply not there, drop me a note, I'm either working on it or I will actually develop it. I will put a link down below for all three of those. And as always, help me help you smash that like and subscribe button. The more popular these videos become, the more I'll create and publish out on YouTube. Thank you for watching.