Class 12 : Python Functions | Arbitrary Arguments

Python Arbitrary Arguments

Sometimes, we do not know in advance the number of arguments that will be passed into a function. Python allows us to handle this kind of situation through function calls with arbitrary number of arguments.
In the function definition we use an asterisk (*) before the parameter name to denote this kind of argument.
Here is an example.

Example:1

def greet(*names):
   """This function greets all
   the person in the names tuple."""
   # names is a tuple with arguments
   for name in names:
       print("Hello",name)

greet("Monica","kapil","Sumit","Jimmy")

Output:

Hello Monica
Hello kapil
Hello Sumit
Hello Jimmy
>>>

Here, we have called the function with multiple arguments. These arguments get wrapped up into a tuple before being passed into the function. Inside the function, we use a for loop to retrieve all the arguments back.

Example:2
Python script to display all the numbers passed as arguments?
Sol:

def cal(*n):
    for i in n:
        print(i)

#function calling
cal(1,2,3,4)

Output:

1
2
3
4
>>>

Example:3
Python script to display all the numbers passed as arguments, and also calculate and print sum of all the numbers?
Sol:

def cal(*n):
    s=0
    for i in n:
        print(i)
        s=s+i
    print("Sum = ",s)

#function calling
cal(1,2,3,4)

Output:

1
2
3
4
Sum = 10
>>>

Example:4
Python script to display all the numbers passed as arguments, and also check and print the max no?
Sol:

def cal(*n):
    m=0
    for i in n:
        print(i)
        if(i>m):
            m=i
        
    print("Max no = ",m)

    
#function calling
cal(1,12,223,24)

Output:

1
12
223
24
Max no = 223
>>>