Python: *args and **kwargs
## *args def testAsteriskArgs(arg1,*args): num= len(args); print arg1; for i in range(0,num): print str(i)+ ": " + str(args[i]); print type(args); testAsteriskArgs(1,2,"test",(3,4,5)); # Output 1 0: 2 1: test 2: (3, 4, 5) <type 'tuple'> ## **kwargs def testkwargs(arg1,*args,**kwargs): print arg1; num= len(args); for i in range(0,num): print str(i)+": "+str(args[i]); print kwargs; print type(kwargs); testkwargs(11,22,33,44,X=55,Y=66,Z=77); # Output 11 0: 22 1: 33 2: 44 {'Y': 66, 'X': 55, 'Z': 77} <type 'dict'>