如何在另一个函数中调用多个函数作为参数?
How to call multiple functions as arguments inside another function?
我正在努力进行以下练习:
特定函数的参数应作为关键字参数传递给 function_results_sum,它应该看起来像 FUNCTION_NAME=ARGUMENTS
function_results_sum 应该 return 在 运行 每个带参数的传递函数之后收到的所有结果的总和
如果函数没有参数,则不应将参数传递给 function_results_sum
如果函数接受 1 个参数,作为关键字参数 int 将被传递给 function_results_sum(例如 one_arg_function_name=2)
如果函数接受超过 1 个参数 - 应传递元组(例如 two_args_function_name=(1, 2) )
它应该如何工作:
第一个例子
功能签名:
def no_arg()
定义 one_arg(a)
def multiple_args(a, b, c, e, f)
呼叫function_results_sum:
function_results_sum(
no_arg, one_arg, multiple_args,
one_arg=23,
multiple_args=(1, 2, 3, 4, 5)
)
如何调用 function_results_sum 的第二个示例:
function_results_sum(
no_arg, one_arg, multiple_args,
one_arg=-1245,
multiple_args=(45, 65, 76, 123456, 111.222)
)
!在函数对象上使用 name 属性 !
这是我想出的,但是我不知道为什么我得到的结果是存储输出的单元格的地址:
控制台输出:
<function ident at 0x00000288C0A72048> <function no_arg at
0x00000288C0A6BF28>
<function mult at 0x00000288C0A720D0>
我的实现:
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)
调用单参数函数的提示如下:
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
包含使用函数名称作为键的参数列表。看看你能不能搞清楚这三种函数的调用方式
我正在努力进行以下练习:
特定函数的参数应作为关键字参数传递给 function_results_sum,它应该看起来像 FUNCTION_NAME=ARGUMENTS
function_results_sum 应该 return 在 运行 每个带参数的传递函数之后收到的所有结果的总和
如果函数没有参数,则不应将参数传递给 function_results_sum
如果函数接受 1 个参数,作为关键字参数 int 将被传递给 function_results_sum(例如 one_arg_function_name=2)
如果函数接受超过 1 个参数 - 应传递元组(例如 two_args_function_name=(1, 2) )
它应该如何工作: 第一个例子 功能签名: def no_arg() 定义 one_arg(a) def multiple_args(a, b, c, e, f)
呼叫function_results_sum: function_results_sum( no_arg, one_arg, multiple_args, one_arg=23, multiple_args=(1, 2, 3, 4, 5) )
如何调用 function_results_sum 的第二个示例: function_results_sum( no_arg, one_arg, multiple_args, one_arg=-1245, multiple_args=(45, 65, 76, 123456, 111.222) )
!在函数对象上使用 name 属性 !
这是我想出的,但是我不知道为什么我得到的结果是存储输出的单元格的地址:
控制台输出:
<function ident at 0x00000288C0A72048> <function no_arg at
0x00000288C0A6BF28>
<function mult at 0x00000288C0A720D0>
我的实现:
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)
调用单参数函数的提示如下:
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
包含使用函数名称作为键的参数列表。看看你能不能搞清楚这三种函数的调用方式