在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中如何实现任何想法?
我可以通过下面的代码访问函数内部的python函数的属性:
def aa():
print aa.__name__
print aa.__hash__
# other simliar
Run Code Online (Sandbox Code Playgroud)
但是,如果上面的aa()函数是用于编写其他代码的模板,比方说bb(),我必须写:
def bb():
print bb.__name__
print bb.__hash__
# other simliar
Run Code Online (Sandbox Code Playgroud)
是否有类似于self类方法中的参数的"指针",所以我可以编写这样的代码?
def whatever():
print self.__name__
print self.__hash__
# other simliar
Run Code Online (Sandbox Code Playgroud)
我搜索并发现有人说使用该类来解决这个问题,但重新定义所有现有功能可能会有麻烦.有什么建议?