在 Python 中,如何在不调用函数的情况下以字符串形式获取函数名称?
def my_function(): pass print get_function_name_as_string(my_function) # my_function is not in quotes
应该输出"my_function".
"my_function"
这样的函数在 Python 中可用吗?如果没有,关于如何get_function_name_as_string在 Python 中实现 , 的任何想法?
get_function_name_as_string
my_function.__name__
使用__name__是首选方法,因为它统一适用。与 不同func_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__属性,所以你只需要记住一个特殊的名称。