我具有以下功能,我想知道如何创建变量来实际存储a=1, b=2, c=3
吗?因此我可以将这些变量传递给test
吗?
def test(a, b, c):
print (a, b, c)
test(a=1, b=2, c=3)
# Things I want to have
d="a=1"
e="b=2"
f="c=3"
test(d, e, f)
答案 0 :(得分:1)
您可能是想打开字典包装?像这样:
def test(a, b, c):
print (a, b, c)
test(a=1, b=2, c=3)
my_args = {"a":1, "b":2, "c":3}
test(**my_args) #Unpacks the my_args dictionary to use as the arguments to the function
答案 1 :(得分:0)
locals()
是一个字典,将变量名保存为键,变量的值存储为值,该字典可用于函数内部以打印所需的方式!
def test(a, b, c):
print(locals())
#{'a': 1, 'b': 2, 'c': 3}
for key, value in locals().items():
print('{}={}'.format(key, value))
print (a, b, c)
test(a=1, b=2, c=3)
#a=1
#b=2
#c=3
#1 2 3
调用函数test
的另一种方法是创建一个参数字典,并像这样传递参数。
dct = {'a':1,'b':2,'c':3}
test(**dct)