首页 > 解决方案 > Python:如何在函数中获取未指定的参数名称(*args)

问题描述

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

def func(*args):
    #print names of arguments that will be passed into the function

> d1, d2 = {...}, {...}
> func(d1, d2)
> ['d1', 'd2']

我尝试了很多与检查模块相关的事情,但我只能得到“*args”作为输出。

如何获取输入词典的名称?

干杯!

标签: pythonpython-3.x

解决方案


一种可能的解决方案是将包含标识符的元组与您的字典一起传递。

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)

推荐阅读