Positional Arguments
The of declared in the parentheses at the time of defining a are the formal arguments. And, these arguments are also known as positional arguments. A function may be defined with any number of formal arguments.
While calling a function −
-
All the arguments are required.
-
The number of actual arguments must be equal to the number of formal arguments.
-
They Pick up values in the order of definition.
-
The type of arguments must match.
-
Names of formal and actual arguments need not be same.
Positional Arguments Examples
Let”s discuss some examples of Positional arguments −
Example 1
The following example shows the use of positional argument.
def add(x,y): z = x+y print ("x={} y={} x+y={}".format(x,y,z)) a = 10 b = 20 add(a, b)
It will produce the following output −
x=10 y=20 x+y=30
Here, the add() function has two formal arguments, both are . When integers 10 and 20 passed to it. The variable “a” takes 10 and “b” takes 20, in the order of declaration. The add() function displays the addition.
Example 2
Python also raises error when the number of arguments don”t match. If you give only one argument and check the result you can see an error.
def add(x,y): z=x+y print (z) a=10; add(a)
The error generated will be as shown below −
TypeError: add() missing 1 required positional argument: ''y''
Example 3
Similarly, if you pass more than the number of formal arguments an error will be generated stating the same −
def add(x,y): z=x+y print ("x={} y={} x+y={}".format(x,y,z)) add(10, 20, 30)
Following is the output −
TypeError: add() takes 2 positional arguments but 3 were given
Example 4
of corresponding actual and formal arguments must match. Change a to a string value and see the result.
def add(x,y): z=x+y print (z) a="Hello" b=20 add(a,b)
It will produce the following error −
z=x+y ~^~ TypeError: can only concatenate str (not "int") to str
Difference between Positional and Keyword argument
The below table explains the difference between positional and keyword argument −
Positional Argument | Keyword Argument |
---|---|
Only the names of arguments are used to pass data to the given function. | Keyword arguments are passed to a function in name=value form. |
Arguments are passed in the order defined in function declaration. | While passing arguments, their order can be changed. |
Syntax: function(param1, param2,…) | Syntax: function(param1 = value1,…) |