Getting external name of passed variable

Michael Spencer mahs at telcopartners.com
Tue Jun 20 18:55:18 EDT 2006


David Hirschfield wrote:
> I'm not sure this is possible, but it sure would help me if I could do it.
> 
> Can a function learn the name of the variable that the caller used to 
> pass it a value? For example:
> 
> def test(x):
>   print x
> 
> val = 100
> test(val)
> 
> Is it possible for function "test()" to find out that the variable it is 
> passed, "x", was called "val" by the caller?
> Some kind of stack inspection?

Perhaps, but don't try it ;-)
> 
> Any help greatly appreciated,
> -David
> 
Can't you use keyword arguments?

 >>> def test(**kw):
...     print kw
...
 >>> test(val=3)
{'val': 3}
 >>> test(val=3, otherval = 4)
{'otherval': 4, 'val': 3}
 >>>

Michael




More information about the Python-list mailing list