def foo(bar): pass #default argument values: def foo(bar, width=10, height=10): pass #calling using keywords: foo("Bar", height=20) #a very general function sample: def f(fixed1, fixed2, *list, **dict): print fixed1 print fixed1 for e in list: print e for k in dict.keys(): print k, '=', dict[k] f("a", "b", "l1", "l2", k1="kv1", k2="kv2", k3="kv3")