Here is a case where you don't know exactly how many arguments you will be passing to a Python function:
[php]# explore the argument tuple designated by *args
# used for cases where you don't know the number of arguments
def sum_average(*args):
size = len(args)
sum = 0
for k in args:
sum += k
# return a tuple of three arguments
return args, sum, sum/float(size)
print sum_average(2, 5, 6, 7) # ((2, 5, 6, 7), 20, 5.0)
# or unpack into a tuple of appropriate variables
tuple, sum, average = sum_average(2, 5, 6, 7)
print "sum of %s = %d" % (tuple, sum) # sum of (2, 5, 6, 7) = 20
print "average of %s = %0.2f" % (tuple, average) # average of (2, 5, 6, 7) = 5.00
# or just pick one return value, here value at index 1 = the sum
print "sum =", sum_average(2, 5, 6, 7)[1] # sum = 20
[/php]