Могу ли я передать имя параметра в качестве аргумента? - PullRequest
0 голосов
/ 01 мая 2018

Допустим, у меня есть функция F с двумя необязательными параметрами par1 и par2.

Я хочу написать новую функцию:

def some_plot(parameter):
    array = []
    for n in range(100):
        array.append(F(parameter = n))
    # make some plot using array

И затем я хочу составить какой-нибудь сюжет, вызвав some_plot('par1') (или some_plot(par1)), что приводит к разделению ошибок.

Можно ли передать имя параметра в качестве аргумента?

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Вы можете сделать это, создав словарь и передав его с использованием синтаксиса **.

def loop_through(arg_name):
    for n in range(100):
        F(**{arg_name: n})
0 голосов
/ 01 мая 2018

Предполагая, что вы передаете имя аргумента в виде строки, вы можете использовать расширение ключевого слова:

def loop_through(parameter):

    for n in range(100):
        kwargs = {parameter: n}
        F(**kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...