Determine function name from within that function (without using traceback)
In Python, without using the traceback module, is there a way to determine a function's name from within that function? Say I have a module foo with a function bar. When executing foo.bar() , is there a way for bar to know bar's name? Or better yet, foo.bar 's name? #foo.py def bar(): print "my name is", __myname__ # <== how do I calculate this at runtime? Rosh Oxymoron Python doesn't have a feature to access the function or its name within the function itself. It has been proposed but rejected. If you don't want to play with the stack yourself, you should either use "bar" or bar.__name__