xl ( [ ]it looks like the code is returning two values herebut it' really just one-- two-item tuple with the optional surrounding parentheses omitted after the call returnswe can use tuple assignment to unpack the parts of the returned tuple (if you've forgotten why this worksflip back to "tuplesin and and "assignment statementsin the net effect of this coding pattern is to both send back multiple results and simulate the output parameters of other languages by explicit assignments herex and change after the callbut only because the code said so unpacking arguments in python xthe preceding example unpacks tuple returned by the function with tuple assignment in python xit' also possible to automatically unpack tuples in arguments passed to function in (only) function defined by this headerdef (( (bc)))can be called with tuples that match the expected structuref(( ( ))assigns aband to and respectively naturallythe passed tuple can also be an object created before the call ( ( )this def syntax is no longer supported in python insteadcode this function asdef ( )( (bc) to unpack in an explicit assignment statement this explicit form works in both and argument unpacking is reportedly an obscure and rarely used feature in python (except in code that uses it!moreovera function header in supports only the tuple form of sequence assignmentmore general sequence assignments ( def (( [bc])):fail on syntax errors in as well and require the explicit assignment form mandated in converselyarbitrary sequences in the call successfully match tuples in the header ( (( [ ])) (( "ab"))tuple unpacking argument syntax is also disallowed by in lambda function argument listssee the sidebar "why you will carelist comprehensions and mapon page for lambda unpacking example somewhat asymmetricallytuple unpacking assignment is still automatic in for loops targetssee for examples special argument-matching modes as we've just seenarguments are always passed by assignment in pythonnames in the def header are assigned to passed-in objects on top of this modelthoughpython provides additional tools that alter the way the argument objects in call are matched with argument names in the header prior to assignment these tools are all arguments