【问题标题】:Pass in argument to function by name dynamically按名称动态传递参数到函数
【发布时间】:2015-02-16 22:01:39
【问题描述】:

是否可以动态设置传递给函数的参数的名称?

像这样:

def func(one=None, two=None, three=None, four=None):
    ...

params = ("one","two","three","four",)
for var in params:
    tmp = func(var=value)

【问题讨论】:

    标签: python python-3.x dynamic parameter-passing argument-unpacking


    【解决方案1】:

    是的,keyword argument unpacking:

    def func(one=None, two=None, three=None, four=None):
        return (one, two, three, four)
    
    params = ("one", "two", "three", "four")
    for var in params:
        tmp = func(**{var: "!!"})
        print(tmp)
    

    输出:

    ('!!', None, None, None)
    (None, '!!', None, None)
    (None, None, '!!', None)
    (None, None, None, '!!')
    

    【讨论】:

    • 这真是天才!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2020-01-05
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    相关资源
    最近更新 更多