Основы Python: Как я могу установить два параметра функции в уравнениях? - PullRequest
2 голосов
/ 05 января 2012

У меня есть базовый вопрос о функциях и параметрах python

Учитывая эту функцию:

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

Я вызываю функцию с помощью:

findArticleWithAttr(attribute1, userinput1)

tableattrib is notустанавливается атрибутом findArticleWithAttr1 и просто принимает последний (userinput1) параметр и заменяет его.

Как я могу заставить python установить оба параметра в уравнении?

1 Ответ

8 голосов
/ 05 января 2012

Вы можете использовать оператор ** с двумя сплатами :

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

В основном оператор ** делает

func(**{'foo' : 'bar'})

эквивалентно

func(foo = 'bar')

Позволяет вызывать функцию с произвольными аргументами ключевых слов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...