# L-4 MCS 275 Wed 23 Jan 2008 : dictarg.py

# Showing how to pass optional arguments
# to a Python function.

def dictarg(**data):
   "test on using dictionary as argument"
   print 'len(data) = %d' % len(data)
   if len(data) > 0:
      for each in data:
         print 'each = ', data[each]
         print 'type(each) = ', type(data[each])
         if isinstance(data[each],list):
            print 'argument is list ', data[each]
         if isinstance(data[each],str):
            print 'argument is string', data[each]
         if callable(data[each]):
            print 'argument is callable object'

print 'FIRST CALL : no arguments'
dictarg()
print 'SECOND CALL : string argument'
dictarg(data="fun")
print 'THIRD CALL : list argument'
dictarg(data=[0,1])
print 'FOURTH CALL : function argument'
import random
dictarg(data=random.randint)
