|Previous Lesson||Table of Contents||Next Lesson|
You may recall that the formula for the area of a triangle with height
and base length
b is the following:
A = 0.5 * b * h
This might be a relatively simple formula to remember, but let’s suppose you have to compute a more complex formula. Then suppose you have to compute this formula over and over again for many inputs. Suddenly, it becomes more of a hassle to keep copying and pasting the same formula over and over again in your code. Enter functions:
def area(b, h): return 0.5 * b * h
A function allows you to encapsulate Python code that you can execute over
and over again. You create a function by using the keyword
def followed by the
function name (in this case,
area) followed by parentheses, which contain a
comma-delimited list of parameters (i.e. variables available for use in
the Python code contained in the function).
In this case, we have two parameters:
h. The function then outputs the
triangle area as defined above. Note that in order to output our result, we must
use the return keyword. If we do not use it, the function will return a special
Finally, an important detail to note is that any Python code that we are encapsulating in this function must have at least one tab preceding each line. Otherwise, Python will not recognize the code as part of the function and will not execute if you try to call it.
Here is our new function
area in action:
To execute a function (or call it), simply write out the function name followed by parentheses, between which you pass in a comma-delimited set of values for each of the parameters of the function. This call will output:
Note that function names are variables, so in general, be sure not to assign variable names that are already assigned to functions!
Given that function names are also variables, as was illustrated in the previous lesson, using function names are more robust to typos compared to typing out the same Python code over and over again.
Finally, it should be noted that although this is the first time we are discussing
functions, it is not the first time we have used them.
Let’s now practice using functions in Python:
Create a function that sums two numbers together. What parameters does your function need to accept? What operation do you need to perform with those parameters? What result do you need to output at the end? (solution)
How would you modify your function from the previous question to sum four numbers instead of just two? (solution)
If you feel comfortable with these questions, feel free to move on to Lesson 5!