[Tutor] Regarding python function arguments

Peter Otten __peter__ at web.de
Tue Jun 11 11:21:59 CEST 2013


Arijit Ukil wrote:

> i am writing following python function:
> 
> def my_func (arg1, arg2, arg3):
> 
> however, I am not always going to pass all the arguments. sometimes only
> arg1 is passed, sometimes arg1 and arg2 are passed; sometimes arg1, arg2,
> arg3 are passed.
> How can i manage this?

You can provide default values for some arguments:

def my_func(arg1, arg2=None, arg3=None):
    print(arg1, arg2, arg3)

my_func(1) # 1 None None
my_func(1, 2) # 1 2 None
my_func(1, arg3=3) # 1 None 3
my_func(1, arg1=1) # TypeError

Note that evey argument after the first with a default must have a default, 
too:

def my_func(arg1, arg2=None, arg3): # SyntaxError



More information about the Tutor mailing list