回答
這也適用於:
import sys
def applejuice(q):
func_name = sys._getframe().f_code.co_name
print func_name
你需要解釋你的問題是什麼。因爲回答你的問題是:
print "applejuice"
也許他的意思是:def func(anothah_func):打印anothah_func的名字 – wilhelmtell 2009-10-08 20:27:15
嗯,那絕對有可能。我們會看看他是否說出了問題所在。 – 2009-10-08 20:38:36
def applejuice(**args):
print "Running the function 'applejuice'"
pass
或使用:
myfunc.__name__
>>> print applejuice.__name__
'applejuice'
upvote for'myfunc .__ name__' – philshem 2014-03-24 13:31:08
import traceback
def applejuice(q):
stack = traceback.extract_stack()
(filename, line, procname, text) = stack[-1]
print procname
我想這是用於調試,所以你可能想看看traceback
module提供的其他程序。他們會告訴你打印整個調用堆棧,異常跟蹤等
另一種方式
import inspect
def applejuice(q):
print inspect.getframeinfo(inspect.currentframe())[2]
def foo():
# a func can just make a call to itself and fetch the name
funcName = foo.__name__
# print it
print 'Internal: {0}'.format(funcName)
# return it
return funcName
# you can fetch the name externally
fooName = foo.__name__
print 'The name of {0} as fetched: {0}'.format(fooName)
# print what name foo returned in this example
whatIsTheName = foo()
print 'The name foo returned is: {0}'.format(whatIsTheName)
這個網站給了我一個體面的解釋sys._getframe.f_code.co_name如何工作,返回函數名稱。
http://code.activestate.com/recipes/66062-determining-current-function-name/
Wocome to SO!請考慮提供解釋,而不是隻指向外部鏈接。 – 2015-03-19 18:14:43
- 1. 如何在內核API中打印函數指針的函數名稱?
- 2. 功能函數內部函數名稱?
- 3. perl:僅打印函數定義名稱
- 4. SymPy只打印函數名稱
- 5. 在Python中的打印函數中打印函數
- 6. 如何在javascript中打印函數內部的參數值?
- 7. 如何在C++中調用函數時打印每個函數名稱?
- 8. 當遍歷函數時自動打印每個函數名稱
- 9. 打印分配給函數指針的函數名稱
- 10. 調用與內部函數名稱相同的外部函數
- 11. 如何使backtrace()/ backtrace_symbols()打印函數名?
- 12. Python可以打印函數定義嗎?
- 13. python錯誤打印函數
- 14. 宏從函數內部獲取函數名稱和參數值
- 15. 如何編寫一個可以打印其參數名稱和值的函數?
- 16. 如何在函數內部打印變量
- 17. 如何在類成員函數內打印調用者對象名稱?
- 18. 如何打開函數名稱完成?
- 19. 如何在python中以表格形式打印字典數據
- 20. 以打印函數定義的大小及其名稱
- 21. excel xll:從函數內部調用函數的名稱
- 22. 如何在jsp中獲取函數內部的鏈接名稱
- 23. Python - 函數名稱導入
- 24. 從函數內部調用Python函數
- 25. python調用函數內部的函數
- 26. 在一個打印函數中的Python打印數組
- 27. 任何方式從內部函數內退出外部函數?
- 28. 如何從函數內部打印變量?
- 29. Python:在打印()函數內打開文件
- 30. 以指數函數打印大整數
見http://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question-on-so/25128#25128 – 2009-10-08 20:39:20
從您選擇,我們可以將答案得出結論,這確實是重複的。事實上,一個幾乎完全一樣的問題已經存在:http://stackoverflow.com/questions/251464/how-to-get-the-function-name-as-string-in-python – 2009-10-08 21:45:51
我不同意這是一個#251464的重複 - 看起來這個問題是反過來的。 – 2012-11-10 19:09:08