def applejuice(q):
print THE FUNCTION NAME!
"applejuice"が文字列として返されるはずです。関数名をPythonの文字列として関数内から出力する方法
def applejuice(q):
print THE FUNCTION NAME!
"applejuice"が文字列として返されるはずです。関数名をPythonの文字列として関数内から出力する方法
また、これは動作します:
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
これは間違いなく可能です。彼は問題が何であるかを尋ねる。 –
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
upvote for 'myfunc .__ name__' – philshem
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/
こんにちは!説明を提供することを考え、外部リンクを指すだけでなく、 –
あなたは私たちがすることができます選択した答えからhttp://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question-on-so/25128#25128 –
を参照してください。これは確かに重複していると結論づけます。確かに、ほとんど同じ名前の質問が既に存在していました:http://stackoverflow.com/questions/251464/how-to-get-the-function-name-as-string-in-python –
私はこれが#251464の複製 - この質問は逆であるようです。 –