Python-如何获得一个函数名作为字符串?

发布于 2021-02-02 23:19:18

在Python中,如何在不调用函数的情况下以字符串形式获取函数名称?

def my_function():
    pass

print get_function_name_as_string(my_function) # my_function is not in quotes

应该输出"my_function"

此类功能在Python中可用吗?如果没有,关于如何get_function_name_as_string在Python中实现的任何想法?

关注者
0
被浏览
112
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。
    my_function.__name__
    

    使用__name__是首选的方法,因为它可以统一应用。与不同func_name,它还可以用于内置函数:

    >>> import time
    >>> time.time.func_name
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    AttributeError: 'builtin_function_or_method' object has no attribute 'func_name'
    >>> time.time.__name__ 
    'time'
    

    同样,双下划线向读者表明这是一个特殊的属性。另外,类和模块也具有__name__属性,因此你只记得一个特殊名称。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看