本问题已经有最佳答案,请猛点这里访问。
如果我想在另一个函数中传递函数func1作为参数,但又想返回函数名,该怎么办?
让说
1 2 3 4 5 6 | def func1(x): return x**2 def main_function(func1,x): ..... return ___(name of func1),value of func1(x)___ |
这意味着我想要:
1 2 3 4 5 6 | func_name, result = main_function(func1,2) print(func_name) func1 print(result) 4 |
只需使用
1 2 3 | def main_function(func, x): # do something else return func.__name__, func(x) |
试试这个:
1 2 | def main_function(f, x): return f.__name__, f(x) |
1 2 3 4 5 6 7 8 9 | 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) |
输出是
1 2 | f name= func1 f value= 25 |