def function( )pass function( = traceback (most recent call last)file ""line in typeerrorfunction(got multiple values for keyword argument 'awhen final formal parameter of the form **name is presentit receives dictionary (see typesmappingcontaining all keyword arguments except for those corresponding to formal parameter this may be combined with formal parameter of the form *name (described in the next subsectionwhich receives tuple containing the positional arguments beyond the formal parameter list (*name must occur before **name for exampleif we define function like thisdef cheeseshop(kind*arguments**keywords)print("-do you have any"kind"?"print("- ' sorrywe're all out of"kindfor arg in argumentsprint(argprint("- for kw in keywordsprint(kw":"keywords[kw]it could be called like thischeeseshop("limburger""it' very runnysir ""it' really veryvery runnysir "shopkeeper="michael palin"client="john cleese"sketch="cheese shop sketch"and of course it would print-do you have any limburger - ' sorrywe're all out of limburger it' very runnysir it' really veryvery runnysir shopkeeper michael palin client john cleese sketch cheese shop sketch note that the order in which the keyword arguments are printed is guaranteed to match the order in which they were provided in the function call arbitrary argument lists finallythe least frequently used option is to specify that function can be called with an arbitrary number of arguments these arguments will be wrapped up in tuple (see tuples and sequencesbefore the variable number of argumentszero or more normal arguments may occur def write_multiple_items(fileseparator*args)file write(separator join(args)normallythese variadic arguments will be last in the list of formal parametersbecause they scoop up all remaining input arguments that are passed to the function any formal parameters which occur after more control flow tools