Class 12 : Python Functions | Default Arguments

Python Default Arguments

Function arguments can have default values in Python.
We can provide a default value to an argument by using the assignment operator (=). Here is an example.

Example:1

#function definition
def greet(name,msg):
    print("Hello",name,"  ",msg)

#function call
greet("sumit","hello how are you")

Output:

Hello sumit hello how are you
>>>

Example:2

def abc1(name="amit",msg="how are you"):
    print("Hello ",name,"  ",msg)

# function call
abc1()
abc1("sachin")
abc1("mohit","hi ")

Output:

Hello amit how are you
Hello sachin how are you
Hello mohit hi
>>>

Example:3

#function definition
def greet(name, msg = "Good morning!"):
   print("Hello",name + ', ' + msg)

# function call
greet("amit")
greet("sumit","How do you do?")

Output:

Hello amit, Good morning!
Hello sumit, How do you do?
>>>

In this function, the parameter name does not have a default value and is required (mandatory) during a call.

On the other hand, the parameter msg has a default value of “Good morning!”. So, it is optional during a call. If a value is provided, it will overwrite the default value.

Any number of arguments in a function can have a default value. But once we have a default argument, all the arguments to its right must also have default values. (i.e. the arguments without default values have to be given first and then the arguments with the default values are given).

This means to say, non-default arguments cannot follow default arguments. For example, if we had defined the function header above as:

def greet(msg = “Good morning!”, name):
We would get an error as:

SyntaxError: non-default argument follows default argument

Example:4

#function definition
def cal(n1=10,n2=20,n3=30,n4=40):
    s=n1+n2+n3+n4
    print("Sum = ",s)


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

Output:

Sum = 100
Sum = 91
Sum = 73
Sum = 46
Sum = 10
>>>