繁体   English   中英

如何在Python3的基类中访问派生类的类属性?

[英]How to access class attributes of a derived class in the base class in Python3?

我想在基类( FooBase )中使用派生类( Foo )的类属性进行操作。 我想用Python 3做到这一点。

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

   def test():
      print(__class__.felder)

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


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

也许有不同的方法吗?

您需要将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']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM