Difference between Arguments and Parameters in python

Anwar Rahim
2 min readApr 9, 2023

--

The terms arguments and parameters are often used interchangeably, But they do have slightly difference in these both terms.

Difference between arguments and parameters

A parameter is a variable that is defined in the function signature or method definition. It specifies what kind of value the function or method expects to receive when it is called. For example:

def add_numbers(x, y):
return x + y

In this function, `x` and `y` are parameters. They define what kind of values the `add_numbers` function expects to receive when it is called.

An argument, on the other hand, is the actual value that is passed to a function or method when it is called. For example:

result = add_numbers(2, 3)

In this code, `2` and `3` are arguments. They are the actual values that are passed to the `add_numbers` function when it is called.

To summarize, a parameter is a variable that is defined in the function or method definition, while an argument is the actual value that is passed to a function or method when it is called.

Here is another example to see the difference between these two terms…

def calculate_average(*numbers):
total = 0
for number in numbers:
total += number
return total / len(numbers)

def print_result(result, message="The result is:"):
print(message, result)

average = calculate_average(1, 2, 3, 4, 5)
print_result(average, message="The average is:")

In this code, there are two functions: `calculate_average` and `print_result`.

The `calculate_average` function takes any number of arguments (using the `*` syntax), calculates their average, and returns the result.

The `print_result` function takes two arguments: the result to be printed and an optional message to be printed before the result. If no message is provided, it defaults to “The result is:”.

In the main body of the code, we call the `calculate_average` function with five arguments (1, 2, 3, 4, 5) and assign the result to a variable called `average`. We then call the `print_result` function with the `average` as the first argument and a custom message (“The average is:”) as the second argument.

When we run this code, it will print “The average is: 3.0” to the console.

In this example, `numbers` is a parameter in the `calculate_average` function definition, while `1`, `2`, `3`, `4`, and `5` are arguments that are passed to the function when it is called. `result` and `message` are parameters in the `print_result` function definition, while `average` and `”The average is:”` are arguments that are passed to the function when it is called.

--

--

Anwar Rahim
0 Followers

I'm Data scientist and solving problems through data analysis. Experienced in machine learning, data visualization, and statistical modeling. Technical Writer