A parameter is the variable listed inside the parentheses in the function definition. An argument is the value that are sent to the function when it is called.
def greet(name, msg):
"""This function greets to
the person with the provided message"""
print("Hello", name + ', ' + msg)
greet("Monica", "Good morning!")
Since we have called this function with two arguments, it runs smoothly and we do not get any error.
If we call it with a different number of arguments, the interpreter will show an error message. Below is a call to this function with one and no arguments along with their respective error messages.
>>> greet("Monica") # only one argument
>>> greet() # no arguments