关于python:如何在另一个函数中调用多个函数作为参数?

How to call multiple functions as arguments inside another function?

本问题已经有最佳答案,请猛点这里访问。

我正在努力做以下练习:

特定函数的参数应作为关键字参数传递给函数"results"和"arguments",它应类似于函数"name=arguments"

函数"results"和应返回在用参数运行每个传递函数之后收到的所有结果的和。

如果函数没有参数,则不应将参数传递给函数"results"和

如果函数接受1个参数,则作为关键字参数int将传递给函数u resultsu sum(例如,一个u argu函数u name=2)

如果函数接受的参数多于1个,则应传递元组(例如,两个参数的函数名=(1,2))。

工作方式如下:第一例函数签名:DEF NosiAg()(一)def多个参数(A、B、C、E、F)

调用函数结果和:函数结果和(不,一个,多个,One SARG=23,多个参数=(1,2,3,4,5))

如何调用函数的第二个示例u resultsu sum:函数结果和(不,一个,多个,ONYARG=- 1245,多个参数=(45、65、76、123456、111.222))

!在函数对象上使用name属性!

这就是我想到的,但是我不知道为什么我得到的结果是存储输出的单元的地址:

控制台输出:

1
2
3
<function ident at 0x00000288C0A72048> <function no_arg at
0x00000288C0A6BF28>
<function mult at 0x00000288C0A720D0>

我的实施:

1
2
3
4
5
6
7
8
9
10
def function_results_sum(*args, **kwargs):
    return [*args]
def no_arg():
    return 5
def ident(x):
    return x
def mult(x, y):
    return x * y
a = function_results_sum(ident, no_arg, mult, ident = 2, mult = (2, 3))
print(a)


以下是调用单参数函数的提示:

1
2
3
4
5
6
7
8
9
10
11
def function_results_sum(*args, **kwargs):
    func = args[0]
    function_name = func.__name__
    parameter = kwargs[function_name]
    return func(parameter)

def ident(x):
    return x

a = function_results_sum(ident,ident=2)
print(a)

args将包含要调用的函数列表,kwargs包含使用函数名作为键的参数列表。看看您是否能找到如何调用这三种类型的函数。