在一个函数中如何知道调用者(Python)

开发者在线 Builder.com.cn 更新时间:2008-05-21作者:albertlee 来源:CSDN

本文关键词: 调用者 函数 python

 

在一个函数中

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! 怎么应用这个特性呢? 发挥各位的想象力了。

用户评论

  • 用户名
  • 评论内容