0

我想用派生类 ( ) 的类属性FooBase在基类 ( )中做一些事情。我想用 Python 3做到这一点。Foo

class BaseFoo:
   #felder = [] doesn't work

   def test():
      print(__class__.felder)

class Foo(BaseFoo):
   felder = ['eins', 'zwei', 'yep']


if __name__ ==  '__main__':
    Foo.test()

也许对此有不同的方法?

4

1 回答 1

1

您需要创建test一个类方法,并为其提供一个可用于访问该类的参数;按照惯例,这个 arg 被命名为cls

class BaseFoo:
    @classmethod
    def test(cls):
        print(cls.felder)

class Foo(BaseFoo):
    felder = ['eins', 'zwei', 'yep']


if __name__ ==  '__main__':
    Foo.test()

输出

['eins', 'zwei', 'yep']
于 2016-07-29T10:15:01.423 回答