A value created inside a function can't be used outside of it unless you return
it.
Consider the following function:
def square(n):
return n * n
If we wanted to store 5 squared in a variable called x
, we would do:
x = square(5)
. x
would now equal 25
.
Common Mistakes
>>> def square(n):
... n * n # calculates then throws away, returns None
...
>>> x = square(5)
>>> print(x)
None
>>> def square(n):
... print(n * n) # calculates and prints, then throws away and returns None
...
>>> x = square(5)
25
>>> print(x)
None
Things to note-
print()
and return
do not accomplish the same thing. print()
will show the value, and then it will be gone.- A function will return
None
if it ends without a return
statement.- When you want to print a value from a function, it's best to return the value and print the function call instead, like
print(square(5))
.