How to get the caller class name inside a function of another class in python?
Well, after some digging at the prompt, here’s what I get: stack = inspect.stack() the_class = stack[1][0].f_locals[“self”].__class__.__name__ the_method = stack[1][0].f_code.co_name print(“I was called by {}.{}()”.format(the_class, the_method)) # => I was called by A.a() When invoked: ➤ python test.py A.a() B.b() I was called by A.a() given the file test.py: import inspect class A: def a(self): … Read more