further allows us to pick and choose which defaults to override in shortspecial argument-matching modes let you be fairly liberal about how many arguments must be passed to function if function specifies defaultsthey are used if you pass too few arguments if function uses the variable argument list formsyou can seemingly pass too many argumentsthe names collect the extra arguments in data structures for processing in the function the gritty details if you choose to use and combine the special argument-matching modespython will ask you to follow these ordering rules among the modesoptional componentsin function callarguments must appear in this orderany positional arguments (value)followed by combination of any keyword arguments (name=valueand the *iterable formfollowed by the **dict form in function headerarguments must appear in this orderany normal arguments (name)followed by any default arguments (name=value)followed by the *name (or in xformfollowed by any name or name=value keyword-only arguments (in )followed by the **name form in both the call and headerthe **args form must appear last if present if you mix arguments in any other orderyou will get syntax error because the combinations can be ambiguous the steps that python internally carries out to match arguments before assignment can roughly be described as follows assign nonkeyword arguments by position assign keyword arguments by matching names assign extra nonkeyword arguments to *name tuple assign extra keyword arguments to **name dictionary assign default values to unassigned arguments in header after thispython checks to make sure each argument is passed just one valueif notan error is raised when all matching is completepython assigns argument names to the objects passed to them the actual matching algorithm python uses is bit more complex (it must also account for keyword-only arguments in xfor instance)so we'll defer to python' standard language manual for more exact description it' not required readingbut tracing python' matching algorithm may help you to understand some convoluted casesespecially when modes are mixed special argument-matching modes