"""
Variable length function argument lists
"""
# In some cases it will be useful for a function to be able to
# handle an arbitrary number of arguments.
# These are called variable length arguments lists.
def tuple_var_args(arg1, arg2 = 'defaultB', *the_rest) :
print 'formal arg1:', arg1
print 'formal arg2:', arg2
print 'the rest:', str(the_rest)
print 'the type of the type(the_rest)', type(the_rest)
# let's call this function:
# you can call it with a single argument:
tuple_var_args('one')
# or two:
tuple_var_args('one', 'two')
# note that in the above two calls the tuple of additional
# arguments is empty
# when we use more than two arguments any additional argument
# is stored in the tuple:
tuple_var_args('one', 'two', 'three', 'four')
