Все классы, производные от определенного базового класса, должны определять атрибут под названием «путь». В смысле утиной печати я мог полагаться на определение в подклассах:
class Base:
pass # no "path" variable here
def Sub(Base):
def __init__(self):
self.path = "something/"
Другой возможностью было бы использование конструктора базового класса:
class Base:
def __init__(self, path):
self.path = path
def Sub(Base):
def __init__(self):
super().__init__("something/")
Я использую Python 3.1.
Что бы вы предпочли и почему? Есть ли способ лучше?