用于访问类变量的Python关键字

时间:2013-12-26 19:35:43

标签: python python-3.x keyword class-variables

考虑Python 3中的以下类:

class Foo(AnotherClass):
    id_counter = 0
    def __init__(self):
        super().__init__()
        self.id = Foo.id_counter
        Foo.id_counter += 1

是否有一个关键字(在本例中类似于Python的super)可用于访问类变量而不是放置类名Foo

1 个答案:

答案 0 :(得分:6)

type(self)self.__class__将返回self的实际类,该类可能是FooFoo的子类:

class Foo(AnotherClass):
    id_counter = 0
    def __init__(self):
        super().__init__()
        self.id = type(self).id_counter
        type(self).id_counter += 1