我有一个带有** keywords参数的函数,并且我想遍历列表中的参数以测试该函数是否正常工作。但是,当我给参数提供键,值对(例如“ name = joe”)时,python只会在列表中抱怨语法。因此,我破解了一个解决方案,将参数封装在引号中,然后使用exec函数调用参数。但是,这似乎很麻烦,有没有更好的方法来用许多测试用例测试功能?这是我的代码:
df['field'] = df.apply(lambda row: get_median(row), axis=1)
如果我不喜欢用这种方法进行测试的原始设计,那么我可以接受其他选择! 谢谢!
答案 0 :(得分:1)
为什么不传递参数字典的元组呢?
def function(**keywords):
for key, value in keywords.items():
print(value)
joe = "joe"
bug = "bug" # if you want an indirection...
parameter_list = ({'name':joe, 'insect':bug}, {'name':joe})
for parameters in parameter_list:
# place to test function
function(**parameters)