如何在Python中从函数内部打印函数名为字符串
def applejuice(q):
print THE FUNCTION NAME!
这段代码的结果应该是一个字符串,内容是“applejuice”。
7 个回答
8
import traceback
def applejuice(q):
stack = traceback.extract_stack()
(filename, line, procname, text) = stack[-1]
print procname
我想这段话是说这个功能可能是用来调试的,所以你可以看看 traceback
模块 提供的其他方法。它们可以帮助你打印出整个调用堆栈、异常追踪等等。
11
def applejuice(**args):
print "Running the function 'applejuice'"
pass
或者使用:
myfunc.__name__
>>> print applejuice.__name__
'applejuice'
另外,可以查看 如何在Python中获取函数名作为字符串
22
这个方法也可以用:
import sys
def applejuice(q):
func_name = sys._getframe().f_code.co_name
print func_name