让我们假设我们在Python3中有两个函数foo
和get_id
。我想在使用get_id
函数的自变量作为foo
函数中的自变量名称时,在foo
函数内调用get_id
函数。例如:
我调用foo
函数:
result = foo("Person","name","John")
该函数的主体为:
def foo(arg_1, arg_2, arg_3):
res = get_id(arg_1, arg_2 = arg_3)
return res
我想要的是:
res = get_id("Person", name = "John")
,以便使用foo函数的arg_2参数对get_id函数进行参数化。但是,到目前为止,我的操作方式会导致错误,因为python将其解释为String。欢迎提出任何建议。
答案 0 :(得分:2)
我可能不尝试理解为什么要这样做:),但这也许是一个解决方案:
def foo(arg_1, arg_2, arg_3):
kwargs = {
'arg_1_name': arg_1,
arg_2: arg_3,
}
return get_id(**kwargs)
请确保将arg_1_name
替换为get_id
函数中使用的参数的实际名称
答案 1 :(得分:0)
这是将参数名称作为字符串传递的方式:
def test(a):
print(a)
test(**{'a': 'hello world'})
我确定您可以采用此解决方案来解决您的问题