Python基础知识:如何在方程式中设置两个函数参数?

时间:2012-01-04 23:29:59

标签: python function

我对python函数和参数有一个基本的问题

鉴于此功能:

def findArticleWithAttr(tableattrib, user_url_input):
    articles = Something.objects.filter(tableattrib=user_url_input) 

我用以下函数调用该函数:

findArticleWithAttr(attribute1, userinput1)

tableattrib不是由findArticleWithAttr属性1设置的,只是接受后者(userinput1)参数并替换它。

如何让python在等式中设置两个参数?

1 个答案:

答案 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')

它允许您使用任意关键字参数调用函数。