如何在Python中从函数内部将函数名打印为字符串

2024-04-23 15:08:39 发布

您现在位置:Python中文网/ 问答频道 /正文

def applejuice(q):
   print THE FUNCTION NAME!

它应该以字符串形式生成“applejuice”。


Tags: the字符串namedeffunction形式printapplejuice
3条回答
import traceback

def applejuice(q):
   stack = traceback.extract_stack()
   (filename, line, procname, text) = stack[-1]
   print procname

我假设这是用于调试的,所以您可能希望查看^{} module提供的其他过程。它们将允许您打印整个调用堆栈、异常跟踪等

这也适用于:

import sys

def applejuice(q):
    func_name = sys._getframe().f_code.co_name
    print func_name
def applejuice(**args):
    print "Running the function 'applejuice'"
    pass

或使用:

myfunc.__name__

>>> print applejuice.__name__
'applejuice'

另外,请参见how-to-get-the-function-name-as-string-in-python

相关问题 更多 >