kolypto kolypto - 1 month ago 8
Python Question

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


?

Answer

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.

Comments