Я пытаюсь определить класс владения функции вызова в Python. Например, у меня есть два класса, ClassA и ClassB. Я хочу знать, когда classb_instance.call_class_a_method () является вызывающей стороной class_a.class_a_method () таким образом что:
class ClassA(object):
def class_a_method(self):
# Some unknown process would occur here to
# define caller.
if caller.__class__ == ClassB:
print 'ClassB is calling.'
else:
print 'ClassB is not calling.'
class ClassB(object):
def __init__(self):
self.class_a_instance = ClassA()
def call_class_a_method(self):
self.class_a_instance.class_a_method()
classa_instance = ClassA()
classa_instance.class_a_method()
classb_instance = ClassB()
classb_instance.call_class_a_method()
вывод был бы:
'ClassB is not calling.'
'ClassB is calling.'
Кажется, как будто осматривают, должен смочь сделать это, но я не могу разрешить как.