How to pass a parameter to a function in Python

Overview

A function is a container for a few lines of code that perform a simple task. Defining a function in Python means that we are creating a function.

Functions in Python are created and denoted with the def keyword followed by a function name. For example, greet_customer followed by a set of parentheses (). The parameters of the function are stored in the parentheses.

Parameters

A parameter is a variable listed inside the parentheses in the function definition. For example greet_customer(name) is a function that has (name) as its parameter.

How to pass a parameter to a function

The purpose of function parameters in Python is to allow a programmer using the function to define variables dynamically within the function.

It’s important to note that after passing a parameter to a function, an argument should be passed to the parameter of the function whenever you call the key function in your program.

Note: An argument is a value that is supplied to the parameter whenever the function is called.

Now, let’s pass a parameter to a function that will help us store the name of our customers by returning the argument (real name) we pass to that function.

Code

# defining a funtion and passing the name parameter to it
def greet_customer(name):
print(f'Hi {name} welcome aboard to the home of delicacies!')
# calling the function and passing Theophilus as the argument
greet_customer('Theophilus')
# calling the function and passing Chidalu as the argument
greet_customer('Chidalu')

Explanation

  • In the code above, we use the def keyword to show that we are defining a function.

  • The name of our function is greet_customer(name). (name) is the parameter of the function.

  • The double line breaks must be included after defining a function.

  • (Theophilus) and (Chidalu) are the arguments passed to the greet_customer(name) function whenever it is called.

  • greet_custumer(Theophilus) and greet_customer('Chidalu) are used to called the key function, greet_customer(name). Without calling the key function, the program will not execute the defined function.

You can also add multiple parameters to your function.

Example

From the previously defined function, greet_customer(name), instead of containing just one parameter, let’s create a new function that will contain multiple parameters, (first_name), (middle_name), and (last_name)

Code

# defining the function and passing multiple parameters to it
def greet_customer(first_name, middle_name, last_name):
print(f'Hi {first_name} {middle_name} {last_name} welcome aboard')
# calling the function and passing arguments to it
greet_customer('Theophilus', 'Chidalu', 'Onyejiaku')

Explanation

The most important thing to note about multiple parameters is that whenever you create them, you need to separate each of them with a comma. The same is done when passing their arguments.

Any parameter given to a function must have its corresponding positional argument.

Example

Let’s define a function with two parameters, first_name and last_name. Now let’s see what happens when we do not give corresponding positional arguments to the parameters of the function.

Code

# defining a function and passing the parameters
def greet_customer(first_name, last_name):
print(f'Welcome abord {first_name} {last_name} to the home of delicacies')
# Now lets pass a wrong corresponding positional argument
greet_customer('Theophilus')

Notice that the code above gives an error message that reads as follows.

TypeError: greet_customer() missing 1 required positional argument: 'last_name'

What this means is that while we defined the greet_customer(first_name, last_name) function with two parameters, we only gave a positional argument to the first parameter, first_name, and ignored the other, last_name. The code below gives the solution for the error message from the previous code.

# defining a function and passing the parameters
def greet_customer(first_name, last_name):
print(f'Welcome abord {first_name} {last_name} to the home of delicacies')
# Now lets pass a correct corresponding positional arguments for the two parameters
greet_customer('Theophilus', 'Onyejiaku')

The program above is successful simply because we give the correct corresponding positional arguments for the parameters of the function.