Passing parameters using **kargs

Robert Brewer fumanchu at amor.org
Mon Jun 7 23:06:26 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?

The canonical answer is, "why do you want to do that?" I'll bet dollars
to doughnuts your code ends up "deconstructing" those variable names
later. Show us a more concrete example, and we can give a more targeted
answer.


FuManChu




More information about the Python-list mailing list