python检查被覆盖的识别功能

时间:2015-10-23 15:58:04

标签: python override inspect

我有类似

的东西
def inspection():
    inspect.stack()
    ...

class A(object):
    def foo(self):
        # do stuff
        inspection()

class B(A):
    def foo(self):
        super(B, self).foo()
        # do other stuff
        inspection()

b = B()
b.foo()    

我正在使用inspect模块从foo的两个实现中分析堆栈。我希望能够根据来自检查的信息告诉两个功能。

我可以获得函数名称(没有帮助),我可以获取对象,但它只是告诉我它在两种情况下都是B的实例。

1 个答案:

答案 0 :(得分:0)

只需要做更多的研究。在inspect中,我找到了Frame.f_code.co_firstlineno,我可以用它来唯一地识别我所在的foo()的实现。