Python中的抽象类属性



我有一个类似的类

from abc import ABC
class AbstractFoo(ABC):
# Subclasses are expected to specify this
# Yes, this is a class attribute, not an instance attribute
bar: list[str] = NotImplemented  
# for example
class SpecialFoo(AbstractFoo):
bar = ["a", "b"]

但这感觉并不是特别干净,也许有点令人困惑。重要的是,bar属性没有被标记为抽象,因此仍然可以在不指定的情况下实例化它。有没有更好的方法来实现类似的行为?

只是不指定值,将其保留为注释?

from abc import ABC
class AbstractFoo(ABC):
bar: list[str] 

class SpecialFoo(AbstractFoo):
bar = ["a", "b"]

相关内容

  • 没有找到相关文章

最新更新