tooland the tester would be simpler if we delegated this to another functionone that would be free to create or generate argument combinations as it saw fitdef tester(funcitemstrace=true)for args in scramble(items)use args in fact we will--watch for this example to be revised in to address this last pointafter we've learned how to code user-defined generators we'll also recode the set operations one last time in and solution to part vi exercise as classes that extend the list object with methods because python now has set object type (described in )none of the set-processing examples in this book are strictly required anymorethey are included just as demonstrations of coding techniquesand are today instructional only because it' constantly improving and growingpython has an uncanny way of conspiring to make my book examples obsolete over timeemulating the python print function to round out the let' look at one last example of argument matching at work the code you'll see here is intended for use in python or earlier (it works in xtoobut is pointless there)it uses both the *args arbitrary positional tuple and the **args arbitrary keyword-arguments dictionary to simulate most of what the python print function does python might have offered code like this as an option in rather than removing the print entirelybut chose clean break with the past instead as we learned in this isn' actually requiredbecause programmers can always enable the print function with an import of this form (available in and )from __future__ import print_function to demonstrate argument matching in generalthoughthe following fileprint pydoes the same job in small amount of reusable codeby building up the print string and routing it per configuration arguments#!python ""emulate most of the print function for use in (and xcall signatureprint (*argssep='end='\ 'file=sys stdout""import sys def print (*args**kargs)sep kargs get('sep''keyword arg defaults emulating the python print function