Python - Positional Arguments



Positional Arguments

The list of variables declared in the parentheses at the time of defining a function are the formal 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.

  • Formal arguments are positional. 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 Example

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 numeric. 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.

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'

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

Data type 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 output

z=x+y
     ~^~
TypeError: can only concatenate str (not "int") to str
Advertisements