4

関数内から呼び出し元オブジェクトを取得し、その呼び出し元に関する情報を調べるにはどうすればよいですか?

class A(object):
    def class_A_fun(self):
            print 'caller from class'  # → B
            print 'caller from method'  # → class_B_fun
            print 'caller module'  # → foomodule
            print 'caller instance'  # → obj
            print 'caller object file name or path'  # → 'foomodule.py'

class B(object):
    def class_B_fun(self):    
        obj = A()
        obj.class_A_fun()        

if __name__ == "__main__":
    obj = B()
    obj.class_B_fun()
4

2 に答える 2