Input parameters
At the beginning of this chapter, we saw that a function can take input parameters. Before we delve into all possible type of parameters, let's make sure you have a clear understanding of what passing a parameter to a function means. There are three key points to keep in mind:
- Argument passing is nothing more than assigning an object to a local variable name
- Assigning an object to an argument name inside a function doesn't affect the caller
- Changing a mutable object argument in a function affects the caller
Let's look at an example for each of these points.
Argument passing
Take a look at the following code. We declare a name x
in the global scope, then we declare a function func(y)
and we call it, passing x
. I highlighted the call in the code.
key.points.argument.passing.py
x = 3
def func(y):
print(y)
func(x) # prints: 3
When func
is called with x
, what happens is that within its local scope, a name y
is created, and it's pointed to the same object x
...