30% Therapy – 40% Practice – 30% Work project

Python – Positional Arguments



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,…)
Translate »