It is also possible to specify that a function can be called with an arbitrary number of arguments. These arguments will be wrapped up in a tuple. Before the variable number of arguments, zero or more normal arguments may occur, e.g.
def fprintf(file, format, *args): file.write(format % args)
This feature may be combined with the previous, e.g.
def but_is_it_useful(required, optional = None, *remains): print "I don't know"