访问包含类或对象的python

时间:2011-09-17 15:22:09

标签: python oop static-methods

如何在作为属性添加时访问当前类中的calling / outer / container python类。考虑这个例子......

class a():
    @staticmethod
    def meth():
        print 'Who called me?'

class b():
    my_a = a

class c():
    my_a = a

b.my_a.meth()
>> Who called me?

c.my_a.meth()
>> Who called me?

所以这个例子中的问题是如何知道a.meth()是否从类 b 或类 a 调用它?

以上显然是静态类和方法,上面的解决方案是否也适用于包含对象?

1 个答案:

答案 0 :(得分:0)

没有什么好方法可以知道如何访问meth()函数。当它被调用时,它只是一个函数。如果你改用@classmethod,你至少会把类传给你,但在这种情况下,它们都是a相同的,所以我不确定你会得到什么想。

您可能需要多做一些记账才能获得所需的信息。