我希望能够做到这一点:
def asdf():
print __method__
"asdf"
谢谢, 诺亚
答案 0 :(得分:8)
您需要指定您的用例,以便我们为您提供更好的答案。 你为什么要这样做?
您可以使用__name__
:
def asdf():
print asdf.__name__
"asdf"
但是,重点是什么?在这种情况下,您也可以直接打印名称。
在这种情况下会发生什么?
def asdf():
print __method__
foo = asdf
foo()
打印"foo"
或"asdf"
?
答案 1 :(得分:4)
使用追溯模块:
#!/usr/bin/env python
import traceback
def asdf():
(filename,line_number,function_name,text)=traceback.extract_stack()[-1]
print function_name
asdf()