Values and expressions
Variables reference values. For example:
number = 5
We would say that the variable number
references the value 5
.
Functions return values. For example:
def say_hello():
return 'hello'
This function always returns the value "hello"
.
An expression is a recipe for getting a value. If we have the following:
3 + 5
Then 3 + 5
is an expression, which Python calculates to be equal to 8
.
When a value is needed but an expression is provided, the expression is evaluated to get a value. For example:
number = 3 + 5
Here, Python needs a value to assign to the variable called number
. It adds
3 + 5
to get the value 8
, and now is able to assign the value 8
to
number
.
Here is another example:
def add(a, b):
return a + b
number = add(3, 5)
Here, Python needs to call the add()
function to figure out what value to
assign number
. It evaluates a + b
to get the value to return, in this case
calculating 8
. Once it encounters the return statement, it is able to return
8
and then set number = 8
.
Example
Let’s write a script with multiple functions in it:
def add_seven(number):
return number + 7
def is_big(number):
return number > 10
def make_smaller(number):
if is_big(number):
return number - 10
else:
return number - 1
def main(number):
number = add_seven(number)
number = make_smaller(number)
print(number)
number = 7
main(number)
We define four functions, each that does some calculation on a number. We then
set number = 7
and call the main()
function, passing it number
as its
parameter.
The main()
function calls the add_seven()
function, which returns 7 + 7
,
or 14
, so number is temporarily set to
14`.
Next, the main()
function calls make_smaller()
, giving it number
, which is
now 14
. The make_smaller()
function calls is_big()
to determine if the
number is considered “big” (it is larger than 10). Since it is big, the
make_smaller()
function will subtract 10
and return the value 4
. This
causes main()
to change the value of number
from 14
to 4
.
Finally, main()
prints the value of number
, so it prints 4
.