在Python中,如何在不调用函数的情况下将函数名称作为字符串获取?
def my_function():
pass
print get_function_name_as_string(my_function) # my_function is not in quotes
Run Code Online (Sandbox Code Playgroud)
应该输出"my_function".
这样的功能在Python中可用吗?如果没有,get_function_name_as_string在Python中如何实现任何想法?
这实际上是2个问题.1)是否有通用的方法来获取实例的类名,所以如果我有一个类
class someClass(object):
Run Code Online (Sandbox Code Playgroud)
我想要一个内置的方式,给我一个字符串'someClass'
2)与功能相似.如果我有
def someFunction():
....
print builtinMethodToGetFunctionNameAsString
return
Run Code Online (Sandbox Code Playgroud)
它会打印'someFunction'
我正在寻找这个的原因是,我有一些类和子类的丛林和调试我想打印我的位置,所以对于所有方法我只想添加一些东西沿线
print 'Executing %s from %s' %(getFunctionName,getClassName)
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找一个知道类和函数的通用命令,这样我就可以在所有方法中复制和粘贴该行,而无需为每个方法编写单独的行.