Python传入函数作为参数,打印函数名和结果[重复]
Posted
技术标签:
【中文标题】Python传入函数作为参数,打印函数名和结果[重复]【英文标题】:Python pass in function as argument, print the function name and results [duplicate] 【发布时间】:2018-09-01 20:50:15 【问题描述】:如果我想将一个函数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
【问题讨论】:
但是,请注意函数可以有多个标识符,或者没有。__name__
将仍然是分配给它的第一个,除非另有更新。
【参考方案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
【讨论】:
【参考方案2】:试试这个:
def main_function(f, x):
return f.__name__, f(x)
【讨论】:
【参考方案3】:只需使用__name__
获取函数名称为str
。
def main_function(func, x):
# do something else
return func.__name__, func(x)
【讨论】:
以上是关于Python传入函数作为参数,打印函数名和结果[重复]的主要内容,如果未能解决你的问题,请参考以下文章
python面试题,设计装饰器,接收一个int类型的参数,可以用来装饰任何的函数, 如果函数运行的时间大于number,则打印出函数名和函数的运行时间