How do we write arbitrary arguments while defining a function?

A Routine is a named group of instructions performing some tasks. A routine can always be invoked as well as called multiple times as required in a given program.
 

How do we write arbitrary arguments while defining a function?

When the routine stops, the execution immediately returns to the stage from which the routine was called. Such routines may be predefined in the programming language or designed or implemented by the programmer. A Function is the Python version of the routine in a program. Some functions are designed to return values, while others are designed for other purposes.
We pass arguments in a function, we can pass no arguments at all, single arguments or multiple arguments to a function and can call the function multiple times.
Example:

Python

def displayMessage():

      print("Geeks for Geeks")

displayMessage()

Output:

Geeks for Geeks

In the above program, the displayMessage() function is called without passing any arguments to it.

Python

def displayMessage(msg):

       print("Hello "+msg+" !")

msg = "R2J"

displayMessage(msg)

Output:

Hello R2J !

In the above program, the displayMessage() function is called by passing an argument to it. A formal argument is an argument that is present in the function definition. An actual argument is an argument, which is present in the function call.
Passing multiple arguments to a function in Python:

  • We can pass multiple arguments to a python function by predetermining the formal parameters in the function definition. 
     

Python

def displayMessage(argument1, argument2, argument3):

          print(argument1+" "+argument2+" "+argument3)

displayMessage("Geeks", "4", "Geeks")

  • Output:
Geeks 4 Geeks
  • In the above program, multiple arguments are passed to the displayMessage() function in which the number of arguments to be passed was fixed.
  • We can pass multiple arguments to a python function without predetermining the formal parameters using the below syntax:
def functionName(*argument)
  • The * symbol is used to pass a variable number of arguments to a function. Typically, this syntax is used to avoid the code failing when we don’t know how many arguments will be sent to the function. 
     

Python

def calculateTotalSum(*arguments):

    totalSum = 0

    for number in arguments:

        totalSum += number

    print(totalSum)

calculateTotalSum(5, 4, 3, 2, 1)

  • Output:
15
  • In the above program, the variable number of arguments are passed to the displayMessage() function in which the number of arguments to be passed is not predetermined. (This syntax is only used to pass non-keyword arguments to the function.)
  • We can pass multiple keyword arguments to a python function without predetermining the formal parameters using the below syntax:
def functionName(**argument)
  • The ** symbol is used before an argument to pass a keyword argument dictionary to a function, this syntax used to successfully run the code when we don’t know how many keyword arguments will be sent to the function. 
     

Python

def displayArgument(**arguments):

    for arg in arguments.items():

        print(arg)

displayArgument(argument1 ="Geeks", argument2 = 4,

                argument3 ="Geeks")

  • Output:
('argument2', 4) ('argument3', 'Geeks') ('argument1', 'Geeks')
  • In the above program, variable number of keyword arguments are passed to the displayArgument() function.

Here is a program to illustrate all the above cases to pass multiple arguments in a function. 

Python

def displayArguments(argument1, *argument2, **argument3):

    print(argument1)

    for arg in argument2:

        print(arg)

    for arg in argument3.items():

        print(arg)

arg1 = "Welcome"

arg3 = "Geeks"

displayArguments(arg1, "to", arg3, agr4 = 4,

                  arg5 ="Geeks !")

Output:

Welcome to Geeks ('agr4', 4) ('arg5', 'Geeks!')

The above program illustrates the use of the variable number of both non-keyword arguments and keyword arguments as well as a non-asterisk argument in a function. The non-asterisk argument is always used before the single asterisk argument and the single asterisk argument is always used before the double-asterisk argument in a function definition. 


What is the syntax of a function with arbitrary arguments?

An arbitrary argument list is a Python feature to call a function with an arbitrary number of arguments. It's based on the asterisk “unpacking” operator * . To catch an arbitrary number of function arguments in a tuple args , use the asterisk syntax *args within your function definition.

What is the arbitrary argument?

Python Arbitrary Arguments allows a function to accept any number of positional arguments i.e. arguments that are non-keyword arguments, variable-length argument list.

How do you represent arbitrary arguments?

What are Arbitrary Arguments (*args)? If the number of arguments to be passed into the function is unknown, add a (*) before the argument name. Lets say you want to create a function that will sum up a list of numbers. The most intuitive way will be to create that list and pass it into a function, as shown below.

How do you declare arbitrary arguments in Python?

Arbitrary Arguments, *args If you do not know how many arguments that will be passed into your function, add a * before the parameter name in the function definition.