Parameter or Argument?


#1

Hello, I have a question that I am so curious. This question is going to be on Functions.

So on lesson 4 which is Parameters and Arguments, it has an example which is

def square(n):

So it said that n is a parameter of square, and the thing that I was curious about is on the lesson 6 called Practice makes perfect. It said on the instruction that "First, def a function called cube that takes an argument called number. Don't forget the parentheses and the colon!"

So I will define a function called cube that takes an "ARGUMENT" called number. Argument?? I thought it was a Parameter, a parameter of cube.

Can someone explain me this. Thank you very much!


#2

The terms are nearly interchangeable, and often are so take them to mean the same thing. I think of parameters as the tuple, and the arguments as the parameters inside the function block. But this is splitting hairs. The real point is 'arguments' is the definitive term, while 'parameters' is the abstract term.

def example(formal, parameter):
    # formal in here is an argument
    # parameter in here is an argument

example(actual, parameter)

We passed in two arguments through the parameter list. Anyway, don't let this confuse you. Just treat both terms the same way in your mind.


#3

In your example you define a function called example()
so inside the parenthesis is a Parameter?

And when you call it like what you did:
example(actual, parameter)
That whole this is an argument?


#4

Yes, in programming speak, a parameter list.

There are two parameters here, known as 'actual parameters`. In the function parameter list they are called formal parameters. They are for all practical purposes, arguments.


#5

@emmaus09,

the FUNCTION talk

def myFunc( param1, param2):
    # Begin of =myFunc= FUNCTION-BODY
    # this =myFunc= function- has 2 PARAMETERS param1 and param2
    # param1 and param2 PARAMETERS are used 
    # as -local- VARIABLES throughout the =myFunc= FUNCTION-BODY
    print( param1 + " and " + param2 )
    #End of =myFunc= FUNCTION-BODY

If you want to call/execute the myFunc function
you will have to add a pair of parentheses to myFunc
like
myFunc()
As the myFunc function was defined
as having 2 parameters
you have to provide 2 arguments
in our case 2 string VALUES "Alena" and "Lauren"
like
myFunc("Alena","Lauren")

some quotes from the outer-world:

**argument is the value/variable/reference being passed in,
parameter is the receiving variable used within the function/block**

OR

**"parameters" are called "formal parameters",
while "arguments" are called "actual parameters".**

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++ function with 1 parameter using return-statement

def myFunction( param1 ):
    # //Begin of =myFunction= FUNCTION-BODY
    # //=myFunction= function has 1 PARAMETER param1
    # //this param1 PARAMETER is used as a -local- VARIABLE
    # //throughout the =myFunction= FUNCTION-BODY
    return param1;
    # //End of FUNCTION-BODY

You have defined a myFunction function
which takes 1 parameter param1
this param1 parameter is used
as a variable throughout the =myFunction= FUNCTION-BODY.

If you want to call/execute this myFunction function
and this myFunction function was defined
as having 1 parameter param1
you will have to provide 1 argument
in our case a "number VALUE" 4
myFunction( 4 )

some quotes from the outer-world:

**argument is the value/variable/reference being passed in,
parameter is the receiving variable used within the function/block**

OR

**"parameters" are called "formal parameters",
while "arguments" are called "actual parameters".**

============================================

As you are using the return-statement in your myFunction function
you will only get a return-value no-display.
You can however capture this return-value in a variable
and then use the print-method to do a display.

theResult = myFunction( 4 )
print theResult

OR directly

print myFunction( 4 )

#6

a parameter is a special variable which is provided as data input whiles Arguments are the actual values supplied at the runtime or call site for the parameter