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) |