Python将函数作为参数传递,打印函数名称和结果

时间:2018-03-23 08:22:35

标签: python function kwargs

如果我想在另一个函数中传递函数func1作为参数,但想要返回函数名,我该怎么办?

让我们说

def func1(x):
    return x**2

def main_function(func1,x):
    .....
    return ___(name of func1),value of func1(x)___

这意味着我想要这样的事情:

func_name, result = main_function(func1,2)

print(func_name)
func1
print(result)
4

3 个答案:

答案 0 :(得分:1)

def func1(x):
    return x**2

def main_function(f,x):
    print('f name=', f.__name__)
    print('f value=', f(x))


main_function(func1, 5)

输出

f name= func1
f value= 25

答案 1 :(得分:1)

试试这个:

def main_function(f, x):
    return f.__name__, f(x)

答案 2 :(得分:1)

只需使用__name__将函数名称设为str

def main_function(func, x):
    # do something else
    return func.__name__, func(x)