the function' arguments (sometimes called parametersthis simple function takes single argumentbut we can define functions that take multiple arguments by separating the arguments with commas the parentheses need to be thereeven if we do not want the function to take any argumentsin which case we would just leave the parentheses empty the lines following the function header are the function bodywhich need to be indented the indentation serves the same purpose as for the loops in to specify which lines of code belong inside the functionor to the function body the two first lines of the function body are regular assignmentsbut since they occur inside functionthey define local variables and local variables the argument are used inside the function just as regular variables we will return to this topic in more detail later the last line of the function body starts with the keyword returnwhich is also new in this and is used to specify the output returned by the function it is important not to confuse this return statement with the print statements we used previously the use of print will simply output something to the screenwhile return makes the function provide an outputwhich can be thought of as variable being passed back to the code that called the function consider for instance the example len(somelistused in the previous where len returned an integer that was assigned to variable another important thing to note about the code above is that it does not do much in facta function definition does essentially nothing before it is called the analogue to the function definition in mathematics is to simply write down function (xas mathematical expression this defines the functionbut there is no output until we start evaluating the function for some specific values of in programmingwe say that we call the function when we use it when programming with functionsit is common to refer to the main program as basically every line of code that is not inside function when running the programonly the statements in the main program are executed code inside function definitions is not run until we include call to the function in the main program we have already called pre-defined functions like sinlenetcin previous and function we have written ourselves is called in exactly the same waydef amount( ) return *( + / )** year amount(year amount( call call this is not entirely truesince defining the function creates function objectwhich we can see by defining dummy function in the python shell and then calling dir(to obtain list of defined variables howeverno visible output is produced until we actually call the functionand forgetting to call the function is common mistake when starting to program with functions