Как узнать имя метода, который вызвал метод? Здравствуйте. Предположим есть классclass BasePluginClass: def Print(self, data): # тут нужно узнать имя метода, из которого был вызов #run = "Run" print data def Run(self): self.Print("string") Есть какой-нибудь кошерный способ?
Да, можно использовать стандартный модуль traceback. Вот пример использования:
import tracebackclass BasePluginClass:
def Print(self, data):
calling_method = traceback.extract_stack()[-2][2]
print("Called from method:", calling_method)
print(data)
def Run(self):
self.Print("string")
obj = BasePluginClass()
obj.Run()
Этот код будет выводить имя метода, из которого был вызван метод Print.