1. Who is the class of self instance ?
class aa(object):
def a(self):
if self.__class__.__name__ == ‘aa‘:
print "aa, a func()"
elif self.__class__.__name__ == "bb":
print "bb, a func()"
class bb(aa):
def b(self):
print "aa, b func()"
aa().a()
bb().a()
---------------------------------------------------------------------
result :
aa, a func()
bb, a func()
2.Who is the caller of function
import inspect
class aa(object):
def a(self):
frame = inspect.currentframe()
print "The caller is %s" %frame.f_back.f_code.co_name
def callerOfa(self):
self.a()
aa().callerOfa()
aa().a()
---------------------------------------------------------------
result:
The caller is callerOfa
The caller is <module>
How to inspect who is caller of func and who is the class of instance
原文:http://www.cnblogs.com/root-wang/p/4578639.html