as you can probably telladvanced argument-matching modes can be complex they are also largely optional in your codeyou can get by with just simple positional matchingand it' probably good idea to do so when you're starting out howeverbecause some python tools make use of themsome general knowledge of these modes is important for examplekeyword arguments play an important role in tkinterthe de facto standard gui api for python (this module' name is tkinter in python xwe touch on tkinter only briefly at various points in this bookbut in terms of its call patternskeyword arguments set configuration options when gui components are built for instancea call of the formfrom tkinter import widget button(text="press me"command=somefunctioncreates new button and specifies its text and callback functionusing the text and command keyword arguments since the number of configuration options for widget can be largekeyword arguments let you pick and choose which to apply without themyou might have to either list all the possible options by position or hope for judicious positional argument defaults protocol that would handle every possible option arrangement many built-in functions in python expect us to use keywords for usage-mode options as wellwhich may or may not have defaults as we learned in for instancethe sorted built-insorted(iterablekey=nonereverse=falseexpects us to pass an iterable object to be sortedbut also allows us to pass in optional keyword arguments to specify dictionary sort key and reversal flagwhich default to none and falserespectively since we normally don' use these optionsthey may be omitted to use defaults as we've also seenthe dictstr formatand print calls accept keywords as well --other usages we had to introduce in earlier because of their forward dependence on argument-passing modes we've studied here (alasthose who change python already know python!summary in this we studied the second of two key concepts related to functionsarguments--how objects are passed into function as we learnedarguments are passed into function by assignmentwhich means by object reference (which really means by pointerwe also studied some more advanced extensionsincluding default and keyword argumentstools for using arbitrarily many argumentsand keyword-only arguments in finallywe saw how mutable arguments can exhibit the same be arguments