以下はどちらもbと出力される。
inspectがいかなるものかよく調べていないが、
とりあえず動いたことだけは確認できたのでメモを残しておく。
import inspect
def a():
print(inspect.getouterframes(inspect.currentframe(), 2)[1][3])
def b():
a()
b()
import inspect
class c(object):
def a(self):
print(inspect.getouterframes(inspect.currentframe(), 2)[1][3])
def b(self):
self.a()
d = c()
d.b()