 So, continuing on our idea of being able to reuse code. So far what we've been doing is we've been creating a lot more of what we consider to be control flow. So we first introduced sort of the conditional statement that allows me to kind of take one of two paths down my code and ultimately I'll still have to move forward. And then we started to look at the idea of something like a loop. A loop kind of now says that I make that still same kind of question, but I quit when it's false and I move forward or I repeat myself when it's true. So they just kind of dictated where my program would go next. But one of the things that we can do is we can actually utilize this idea of functions and create code that we can reuse. And that's exactly kind of what we're dealing with is we're looking to be able to create code I can repeatedly use throughout kind of the extent of my programming lifetime. So we start off very similar to what we learned in math class. You remember we have F, that's a terrible F, F of X. And so what we saw when we learned in math was sort of this F, that is what we would call my function name. Because you don't always say F, sometimes you say G, sometimes you say H. In our case, we give it actual names instead of letters. And then that X, well that kind of expands out into a whole slew of what we call parameters. So how do I start to build this up? Well, let's use the example of something known as sum. So I come in and I use first the term def. Def is my way of establishing that I am defining a function. And so just to kind of show that as we write it out, the next portion I'm gonna give it is sum. I'm naming my function all of a sudden. And in this case, afterwards, I give it some parameters. And I'll tell you what, since sum is a reserved word, we'll say adding, or adding bit. So now, I have to give it some of those parameters. In my case, I named it I1, I2. Now, those parameters, the way you can think about them is, what they kind of are doing and how I kind of consider them, is I classify them sort of as placeholders. I don't know what I2 and I1 are. And frankly, I don't care. But I'm going to assume that by the time someone uses this function that I'm designing, they're gonna give me what I2 and I1 represent. So I come in, and I'm gonna just say count equals I1 plus I2, that's it. Now, one of the things you're noticing is, here's where things get a little different, if you will, from our traditional kind of code. In most of our statements, we've always been ending with something called print. Oh, print, Cal. Problem is, what print does is print displays something to my screen. And if we're thinking about this from a more kind of future perspective, I might not be touching my code. I might not actually even be a part of the program. I want this to be able to work autonomously without the use of sort of a screen. Many servers, for example, don't have monitors attached to them, they're headless machines. So I don't want my program to kind of print something. Instead, what I want it to do is what we call return of value, return something. In this case, I want it to return. Now, I'm gonna save this, save it to my documents and test.py. Now, when I run this, I'm gonna hit F5, nothing happens. That's not necessarily a bad thing, though. You see, what happens, just like you see here, is my method, my function, has been loaded into memory, it's stored somewhere in memory. And now, what that means is, now I have access to it. I can actually call it how I want. Now, you see I named mine added, and if I open up those parentheses, you can see, oh, it's expecting an I1 and an I2. So if I gave it, say, five comma nine, and close that out, I see I get 14. But this is where it's very beneficial, because, for example, I can come in and change these all except. Maybe I do 50 and 19, 69. I'm now able to kind of control what's, just through parameters. And I'm able to use things like getting input if I would like x equals int, input, enter a number. Enter a number, 25, then I can come in x, 20. So the variable x, that's just a variable. And again, all this information gets passed on, and so you see I can get my 45, regardless of whether it's from literal numbers, user inputs, or just a simple variable.