"JonathanB" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Ok, this is probably definitely a newbie question, but I have looked > all over the Python library reference material and tutorials which I > can find online and I cannot find a clear definition of what these are > and more importantly how to use them. From what I can tell from their > use in the examples I've seen, they are for passing a variable number > of arguments to a function (which I need to do in a program I am > working on). But how do you use them? Is there a fixed order in which > the arguments within *arg or **kwarg should be passed or will be > called within a function? I realize this probably involves a long- > winded answer to a very simple and common programming problem, so if > someone has a link to TFM, I'll gladly go RTFM. I just can't find it.
I hope this example code will help you understand: >>> def a(*stuff): print repr(stuff) >>> def b(**stuff): print repr(stuff) >>> def c(*args, **kwargs): print 'args', repr(args) print 'kwargs', repr(kwargs) >>> a(1,2,3) (1, 2, 3) >>> b(hello='world', lingo='python') {'hello': 'world', 'lingo': 'python'} >>> c(13,14,thenext=16,afterthat=17) args (13, 14) kwargs {'afterthat': 17, 'thenext': 16} >>> args = [1,2,3,4] >>> kwargs = {'no-way': 23, 'yet-anotherInvalid.name': 24} >>> c(*args, **kwargs) args (1, 2, 3, 4) kwargs {'no-way': 23, 'yet-anotherInvalid.name': 24} >>> (sorry for the messed-up formatting) -- http://mail.python.org/mailman/listinfo/python-list