Passing parameters using **kargs
Peter Otten
__peter__ at web.de
Tue Jun 8 03:03:33 EDT 2004
Thomas Philips wrote:
> I want to access parameters that are passed into a function using the
> **kargs idiom. I define f(**kargs) via
>
> def f(**kargs):
> print kargs
> .
> .
>
> the keyword arguments are converted to a dictionary, so that if I type
> f(a=1, b=2, c=3)
>
> the function prints
> {'a': 1, 'b': 2, 'c':3}
>
> Now assume the function has three variables a, b and c to which I want
> to assign the dictionary's values of 'a', 'b' and 'c'. How can I
> assign kargs['a'] to a, kargs['b'] to b, and kargs['c'] to c. Should I
> be trying to construct a string representation of each variable's name
> and using that as a key, or am I just thinking about this the wrong
> way?
How about
>>> def f(a=None, b=None, c=None, **moreargs):
... print locals()
...
>>> f(x=22, b=99)
{'moreargs': {'x': 22}, 'a': None, 'c': None, 'b': 99}
>>>
Peter
More information about the Python-list
mailing list