def foo(a, b, c=30): print 'foo' print 'a =', a print 'b =', b print 'c =', c print def bar(b, a): print 'bar' print 'a =', a print 'b =', b print ## positional arguments #foo(10, 20) #bar(10, 20) ## keywords arguments #foo(a=10, b=20) #bar(a=10, b=20) def complex(*args, **kwds): print 'There are', len(args), 'positional arguments' for arg in args: print arg print print 'Keywords arguments' for key in kwds: print key, '=', kwds[key] print ##complex(1, 2, 'foo', 'bar', a=10, b=20) ##complex(a=10, b=20)