Удалить attr из класса chield в классе parrent python - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть код:

class PluginBase:
    subclasses = {}

    def __init_subclass__(cls, *args, **kwargs):
        delattr(cls, 'subclasses')
        cls.subclasses[cls.__name__] = cls


if __name__ == "__main__":
    class A(PluginBase):

        def __init_subclass__(cls, **kwargs):
            pass


    class B(PluginBase):
        def __init_subclass__(cls, **kwargs):
            pass

при получении ошибки:

delattr (cls, 'subclasses')

AttributeError: подклассы

Я не хочу удалять атрибут в дочернем классе через init, как мне это сделать в родительском классе?

...