您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将函数及其参数传递给另一个函数

将函数及其参数传递给另一个函数

这样的事情会起作用:

def no_arg():
    return 5

def one_arg(x):
    return x

def multiple_args(x, y):
    return x * y

def function_results_sum(*args, **kwargs):
    result = 0
    for func in args:
            result += func(*kwargs[func.__name__])
    return result

输出

function_results_sum(
    no_arg, one_arg, multiple_args,
    no_arg=(),
    one_arg=(23, ),
    multiple_args=(1,5))

33

您所要求的唯一区别是,您必须将args放入一个元组中,然后解压缩为args以便以后传递。

如果不想为无参数函数提供任何内容,则可以再次检查func名称是否在kwargs中:

def function_results_sum(*args, **kwargs):
    result = 0
    for func in args:
        if func.__name__ i kwargs:
            result += func(*kwargs[func.__name__])
        else:
            result += func()
    return result
其他 2022/1/1 18:42:02 有492人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶