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


def add(x,y):
   print ("x={} y={} x+y={}".format(x,y,z))


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. Give only one argument and check the result.

TypeError: add() missing 1 required positional argument: 'y'

Pass more than number of formal arguments and check the result −

add(10, 20, 30)
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.


It will produce the following output

TypeError: can only concatenate str (not "int") to str
Kickstart Your Career

Get certified by completing the course

Get Started