在Python中,在不使用traceback
模块的情况下,有没有办法从该函数中确定该函数的名称?
假设我有一个功能为bar
的模块foo
.执行foo.bar()
时,bar
有没有办法知道bar
的名字?或者更好,foo.bar
的名字?
#foo.py
def bar():
print "my name is", __myname__ # <== how do I calculate this at runtime?
在Python中,在不使用traceback
模块的情况下,有没有办法从该函数中确定该函数的名称?
假设我有一个功能为bar
的模块foo
.执行foo.bar()
时,bar
有没有办法知道bar
的名字?或者更好,foo.bar
的名字?
#foo.py
def bar():
print "my name is", __myname__ # <== how do I calculate this at runtime?
Python没有访问函数或函数本身中函数名的功能.它已经被拒绝了proposed次.如果你不想自己玩这个堆栈,你应该根据上下文使用"bar"
或bar.__name__
.
给出的拒绝通知是:
此PEP被拒绝.目前还不清楚它应该如何实现,也不清楚边缘情况下的确切语义应该是什么,也没有给出足够多的重要用例.react 充其量也就是不温不火.