python获取函数中参数的变量名
发布于 2021-01-29 18:19:34
我想做这样的事情:
fib = 1
foo = (arg):
print arg, argName # the name of the variable that was put in for arg
foo(fib)
并得到返回:
1, fib
关注者
0
被浏览
151
1 个回答
-
您不能那样做(正如Ignacio Vazquez-Abrams已经回答的那样),但是您可以通过类似的方式来做:
>>> def foo(**kwargs): for arg_name in kwargs: return kwargs[arg_name], arg_name >>> foo(fib=1) (1, 'fib')
唯一的区别是您必须使用关键字参数,否则它将不起作用。
- 另一种解决方案是访问
__name__
传递的变量的属性,这将导致获得函数,类或名称的名称(或其他将定义此名称的名称)。您唯一应该知道的是,默认情况下,它不是变量的名称,而是函数/类/模块的原始名称(定义时分配的名称)。请参阅此处的示例:http - //ideone.com/MzHNND
- 另一种解决方案是访问