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を作成し、クラスにアクセスするために使用できる引数を与える必要があります。通常、この引数には という名前が付けられます。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 に答える