在一个函数中
def fun():pass
这个函数如何知道是谁调用了它呢? 在C类语言中好像是很难的。但在 Python中却很简单
import traceback
def fun(): s = traceback.extract_stack() print '%s Invoked me!'%s[-2][2]
这个 fun 函数就可以知道是谁调用了它,并打印出来, 我们来试一下:
>>> def a():fun()
>>> def b():fun()
>>> a() a Invoked me! >>> b() b Invoked me! >>>
ok! 怎么应用这个特性呢? 发挥各位的想象力了。 
|