猿问

如何在Python中以字符串的形式获得函数名?

如何在Python中以字符串的形式获得函数名?

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

def my_function():
    passprint get_function_name_as_string(my_function) # my_function is not in quotes

应输出"my_function".

这种函数在Python中可用吗?如果没有,关于如何实现get_function_name_as_string在Python里?


慕田峪7331174
浏览 783回答 3
3回答

慕少森

my_function.__name__使用__name__是首选的方法,因为它适用一致。不像func_name,它也适用于内置功能:>>>&nbsp;import&nbsp;time>>>&nbsp;time.time.func_nameTraceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last): &nbsp;&nbsp;File&nbsp;"<stdin>",&nbsp;line&nbsp;1,&nbsp;in&nbsp;?AttributeError:&nbsp;'builtin_function_or_method'&nbsp;object&nbsp;has&nbsp;no&nbsp;attribute&nbsp;'func_name'>>>&nbsp;time.time.__name__&nbsp; 'time'此外,双下划线向读者表明这是一个特殊的属性。作为奖励,类和模块有一个__name__属性,所以您只记得一个特殊的名称。
随时随地看视频慕课网APP

相关分类

Python
我要回答