Python:如何在函数中获取未指定的参数名称(*args)



下面的函数接受字典作为参数。

def func(*args):
#print names of arguments that will be passed into the function
> d1, d2 = {...}, {...}
> func(d1, d2)
> ['d1', 'd2']

我尝试了许多与inspect模块相关的东西,但我只能得到"*args"作为输出。

如何获得输入字典的名称?

干杯!

一个可能的解决方案是在字典中传递一个包含标识符的元组。

def func(*args):
for x in args:
print(x[1])
d1 = {...}
d2 = {...}
func((d1, 'd1'), (d2, 'd2'))

另一种方法是像这样在字典中添加一个标识键

def func(*args):
for x in args:
print(x['title'])
d1 = {...}
d1['title'] = 'd1'
d2 = {...}
d2['title'] = 'd2'
func(d1, d2)