python obtain variable name of argument in a function

Viewed 10861

I want to do something like this:

fib = 1
foo = (arg):
    print arg, argName # the name of the variable that was put in for arg
foo(fib)

And get this returned:

1, fib
4 Answers

You can do it now with the value wrapper from python-varname package.

from varname import Wrapper

fib = Wrapper(1)

def foo(arg):
  print(arg.value, arg.name)

foo(fib)
# 1, "fib"

The package is hosted at https://github.com/pwwang/python-varname

I am the author of the package. Let me know if you have any questions using it.

Related