我可以将参数名称作为参数传递吗?

Fal*_*art 0 python parameters arguments parameter-passing

让说我有一个函数F有两个可选参数par1par2.

我想写一个新函数:

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

然后我想通过调用some_plot('par1')(或some_plot(par1))分割错误来制作一些情节.

是否可以将参数的名称作为参数传递?

kin*_*all 6

您可以通过构造字典并使用**语法传递它来完成此操作.

def loop_through(arg_name):
    for n in range(100):
        F(**{arg_name: n})
Run Code Online (Sandbox Code Playgroud)


Thi*_*lle 5

假设您将参数的名称作为字符串传递,您可以使用关键字参数扩展:

def loop_through(parameter):

    for n in range(100):
        kwargs = {parameter: n}
        F(**kwargs)
Run Code Online (Sandbox Code Playgroud)