pythonsyntax

What's the difference between arguments with default values and keyword-arguments?


In Python, what's the difference between arguments having default values:

def f(a,b,c=1,d=2): pass

and keyword arguments:

def f(a=1,b=2,c=3): pass

? I guess there's no difference, but the tutorial has two sections:

4.7.1. Default Argument Values

4.7.2. Keyword Arguments

which sounds like there are some difference in them. If so, why can't I use this syntax in 2.6:

def pyobj_path(*objs, as_list=False): pass

?


Solution

  • Keyword arguments are how you call a function.

    f( a=1, b=2, c=3, d=4 )
    

    Default values are how a function is defined.