def applejuice(q):
print THE FUNCTION NAME!
Debe dar como resultado "applejuice" como una cadena.Cómo imprimir el nombre de la función como una cadena en Python desde el interior de esa función
def applejuice(q):
print THE FUNCTION NAME!
Debe dar como resultado "applejuice" como una cadena.Cómo imprimir el nombre de la función como una cadena en Python desde el interior de esa función
Esto también funciona:
import sys
def applejuice(q):
func_name = sys._getframe().f_code.co_name
print func_name
Necesita explicar cuál es su problema. Debido a que la respuesta a su pregunta es:
print "applejuice"
tal vez quiere decir: def func (anothah_func): imprimir el nombre de anothah_func – wilhelmtell
Bueno, eso definitivamente es posible. Veremos si él dice cuál es el problema. –
def applejuice(**args):
print "Running the function 'applejuice'"
pass
o uso:
myfunc.__name__
>>> print applejuice.__name__
'applejuice'
Además, vea how-to-get-the-function-name-as-string-in-python
upvote para 'myfunc .__ name__' – philshem
import traceback
def applejuice(q):
stack = traceback.extract_stack()
(filename, line, procname, text) = stack[-1]
print procname
Asumo que esto se utiliza para la depuración, por lo que podría desea ver los otros procedimientos ofrecidos por el traceback
module. Ellos permiten imprimir toda la pila de llamadas, los rastros de excepción, etc.
Otra forma
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)
Este sitio me dio una explicación decente de cómo funciona sys._getframe.f_code.co_name que devuelve el nombre de la función.
http://code.activestate.com/recipes/66062-determining-current-function-name/
¡Wlecome a SO! por favor, piense en dar explicaciones y no solo señalando enlaces externos. –
Ver http://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question-on-so/25128#25128 –
De la respuesta que podemos elegir concluir que esto fue de hecho un duplicado. De hecho, ya existía una pregunta casi exactamente del mismo nombre: http://stackoverflow.com/questions/251464/how-to-get-the-function-name-as-string-in-python –
No estoy de acuerdo en que se trate de una duplicado de # 251464 - parece que esta pregunta es la inversa en su lugar. –