A game of functions
A function is just an entity that takes care of processing input and turning it into some desired output.
Input > Function > Output
For example, we can think about a function
add, that receives two numbers and returns the sum of it:
add(2, 3) # 5 add(7, 5) # 12
In our previous examples, we can see the input of the function being passed surrounded by parenthesis after the name of the function:
add(2, 3). This is the standard way of invoking a function in Python.
There are already functions builtin into the python language that we use all the time. For example, you already know about
print("Hello World") # None
We just don't care about the output of print.
Another popular function is
len. It returns the length of a string. Try it out by yourself:
len("hello world") # 11 len("Python") # 6
In this case we see a "profound" change made by this function. It received a
string and it returned an
Defining your own functions (cheat sheet)
A function is defined in this way:
def add(x, y): return x + y
defis a reserved keyword and MUST be used to start the definition of a function
addin this case is the name of the function. You can name them whatever you want. It's of course important to give good, meaningful names.
x, yare the parameters received for your function. You have to think carefully about the "input" of your function. What it receives.
Quick note here: Even if you don't realize it, you're surrounded by "functions" and you constantly think about them. For example, what do you need to "start your car"? You probably need the car keys. The input is the car key and the output is the car running. What do you need to make a payment with your card? The input taking your card close to the sensor and sometimes a "password", and the output is the result of the transaction.
The body. Below the
def add(x, y):you can start defining the body of the function. You can put as many lines as you want, but they MUST be indented four spaces to the right.
returnstatement. This is INCREDIBLY IMPORTANT. It's the output of your function. It's that final think you want to produce as the result of it.
A function is "used" ("invoked", "called" are other verbs we use for the same action) in this way:
res = add(2, 3) print(res) # 5 print(add(7, 5)) # 12
A few important notes:
For example, in
res = add(2, 3), we're assigning the result of the function
add(2, 3)to the variable
res. The function
addRETURNED something. That value returned is assigned to
You can skip the assignment and pass it directly to another function. That's what happens with
print(add(7, 5)). The result of
add(7, 5)is immediately passed to