首页 > 解决方案 > 如何将函数的所有参数保存为字符串?

问题描述

我希望将函数的输入参数保存为字符串。我正在使用 Python 3.7。我想保存该字符串以进行调试。

我可以轻松做的事情是这样的:

def Model(par1=150, par2=100)

#some processing

return results, par1

parameters = str(par1) + str(par2)

但是,我希望能够自动保存所有参数,即使我稍后添加更多参数。因此,如果我将 par3 = 300 添加到函数中,“参数”也将包含 str(par3),而不是我必须手动添加它。

我想要的行为是这样的:

def Model(--any number of parameters--)

#some processing

return results

parameters = --all parameters of Model--

我想让它自动完成的原因是我希望否则它会造成更多的麻烦而不是更糟,因为我必须记住一直手动更改它。

是否可以将函数的所有参数保存为字符串(或以任何其他方式让我稍后轻松检查函数运行的参数)?

标签: python

解决方案


你可以试试这样的

def foo(param1, param2):
    parameters = list(locals().items())
    print(parameters)
foo(100,200)

# Outputs 
[('param1', 100), ('param2', 200)]

推荐阅读