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

原创 2004年09月04日 18:27:00

在一个函数中

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

C#如何判断是哪个类的那个方法调用了当前方法

平常我们写了一个类,目的是让所有的项目或类来调用,此时我们写生成日志,要明确是哪个类中的那个方法来调用的,以便后面好查询,保留详细的记录。 public static LogInf...
  • w200221626
  • w200221626
  • 2016年08月05日 14:43
  • 3682

python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法

最近学习python的时候经常会看到好多py文件中都有if _name_ == ‘_main_‘: 这句话,所以就花点儿时间来研究一下,总结了一下使用方法及原则。平时我们使用python IDE编写p...
  • Winterto1990
  • Winterto1990
  • 2015年08月27日 13:16
  • 7380

Python 函数之函数定义、调用、传参

函数是组织好的,可以被重复使用的,用来实现单一或相关功能的代码块。 任何编程语言都提供了很多内嵌函数,同时还允许用户自己定义想要的函数。本节主要讲自定义函数。1、定义函数的规则我们自定义函数时,需要...
  • SeeTheWorld518
  • SeeTheWorld518
  • 2015年08月29日 17:51
  • 6675

js函数的调用者和所有者

函数的调用者指的是函数被调用的域(可以理解函数本身),Function 对象的caller属性是对当前函数的函数的引用。如果该函数是从JavaScript程序的顶层调用的,caller的值为null。...
  • wobuxiangnila
  • wobuxiangnila
  • 2014年03月23日 18:24
  • 280

子函数中为调用者分配内存的一些理解

典型的例子有四个,其中一个是错误的,先说错误的情况1.错误的例子:intfunc(char *p){if(NULL == (p = (char *)malloc(128)) );{retuen-1;}...
  • Augusdi
  • Augusdi
  • 2014年09月19日 23:51
  • 1147

在代码中获取调用者函数的名字

有时候需要知道一个函数是被哪个函数调用的。比如,一个函数被成千上百个文件的函数调用,加入其中一个调用不对导致除了问题的话,要找出是那个地方调用的话,一个笨方法是找到每个调用的地方,加上打印信息,但这显...
  • CaspianSea
  • CaspianSea
  • 2013年08月14日 05:53
  • 1914

在公共函数中区分上层调用者的模型

一、背景及问题详述:  在编码时常常会将多次用到的公共函数封装之后,供其他函数调用。而在调用时,免不了需要根据上层调用函数的不同有不同的结果。   举几个最近遇到的具体的场景:1.UI界面的刷新按钮...
  • qq_26654881
  • qq_26654881
  • 2016年03月02日 22:43
  • 268

js函数的调用者和所有者

转载自:http://lee3836.iteye.com/blog/438979 函数的调用者指的是函数被调用的域(可以理解函数本身),Function 对象的caller属性是对当前函数的函数的引...
  • zsc2014030403015
  • zsc2014030403015
  • 2016年12月24日 21:04
  • 287

如何封装一个数据库查询,并把结果返回给调用者

/** * 查询一个sql语句.结果返回一个list集合 * @param sql * @return * @throws SQLException */ public List...
  • u010501127
  • u010501127
  • 2013年06月07日 14:31
  • 857

统计WebService的调用者、调用函数、运行时间

系统WebServic分布太久了, 都不知道哪些系统在用? 调用的哪些函数?于是乎,写一个Soap Extension, 再加一个页面,来查询一下。 先看一下配制说明,和效果 web.co...
  • xwnxwn
  • xwnxwn
  • 2017年11月02日 10:57
  • 102
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在一个函数中如何知道调用者(Python)
举报原因:
原因补充:

(最多只允许输入30个字)