【问题标题】:Python pass in function as argument, print the function name and results [duplicate]Python传入函数作为参数,打印函数名和结果[重复]
【发布时间】: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__ 将仍然是分配给它的第一个,除非另有更新。

标签: python function keyword-argument


【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-08
        • 2018-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多