python - 如何将函数名作为字符串获取?

标签 python string function

如何将函数名作为字符串获取?

def foo():
    pass

>>> name_of(foo)
"foo"

最佳答案

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__ 属性,所以你只需要记住一个特殊的名称。

关于python - 如何将函数名作为字符串获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/251464/

相关文章:

python - 与 Python numpy 矩阵不一致的结果

python - PyOpenCL vs Clyther vs 纯 OpenCL 和 C99 : what's the best for novice?

string - Swift REPL 意外行为

函数中的 bash 参数解析

Javascript 函数作为回调

python - 使用 session 身份验证通过带有 Tasty Pie 的 curl 进行身份验证

java - string.split ("(?!^)")解释

python - 从 raw_input 读取并运行函数调用

python - 创建带有增量计数器的列,用于识别 Pandas 中的重复集

python - 如果窗口中的按钮已绑定(bind)到函数,如何使用按钮关闭顶级 tkinter 窗口