How to get all named args in a dict?

Terry Reedy tjreedy at udel.edu
Wed May 13 18:42:56 EDT 2009


kj wrote:
> 
> Suppose I have the following:
> 
> def foo(x=None, y=None, z=None):
>     d = {"x": x, "y": y, "z": z}
>     return bar(d)
> 
> I.e. foo takes a whole bunch of named arguments and ends up calling
> a function bar that takes a single dictionary as argument, and this
> dictionary has the same keys as in foo's signature, so to speak.
> 
> Is there some builtin variable that would be the same as the variable
> d, and would thus obviate the need to explicitly bind d?

Use the built-in function locals()
 >>> def f(a,b):
	x=locals()
	print(x)

 >>> f(1,2)
{'a': 1, 'b': 2}




More information about the Python-list mailing list