我对python函数和参数有一个基本的问题
鉴于此功能:
def findArticleWithAttr(tableattrib, user_url_input):
articles = Something.objects.filter(tableattrib=user_url_input)
我用以下函数调用该函数:
findArticleWithAttr(attribute1, userinput1)
tableattrib不是由findArticleWithAttr属性1设置的,只是接受后者(userinput1)参数并替换它。
如何让python在等式中设置两个参数?
答案 0 :(得分:8)
您可以使用**
double-splat operator:
def findArticleWithAttr(tableattrib, user_url_input):
articles = Something.objects.filter(**{tableattrib : user_url_input})
基本上,**
运算符
func(**{'foo' : 'bar'})
相当于
func(foo = 'bar')
它允许您使用任意关键字参数调用函数。