though the keyword arguments can appear in any order in the list of actual parametersit is not legal to follow keyword argument with non-keyword argument thereforean error message would be produced by printname('olga'lastname 'puchmajerova'falsekeyword arguments are commonly used in conjunction with default parameter values we canfor examplewrite def printname(firstnamelastnamereverse false)if reverseprint lastname 'firstname elseprint firstnamelastname default values allow programmers to call function with fewer than the specified number of arguments for exampleprintname('olga''puchmajerova'printname('olga''puchmajerova'trueprintname('olga''puchmajerova'reverse truewill print olga puchmajerova puchmajerovaolga puchmajerovaolga the last two invocations of printname are semantically equivalent the last one has the advantage of providing some documentation for the perhaps mysterious parameter true scoping let' look at another small exampledef ( )#name used as formal parameter print ' =' return ( #value of used as actual parameter print ' =' print ' =' print ' =' when runthis code printsx what is going on hereat the call of fthe formal parameter is locally bound to the value of the actual parameter it is important to note that though the actual and formal parameters have the same namethey are not the same variable each function defines new name spacealso called scope the