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