Переопределить значение ключа, которое передается метаклассу базового класса его дочерним классом. ⇐ Python
Переопределить значение ключа, которое передается метаклассу базового класса его дочерним классом.
Когда я наследую BaseClass от ChildClass, BaseMetaClass.__new__(...) запускается дважды. Сначала с ключевым словом arg «foo», а второй раз с «bar». Можно ли переопределить «foo» с помощью «bar» до того, как оно будет выполнено. Меня не волнует, если он запускается дважды, но при первом выполнении он должен иметь значение «бар».
класс BaseMetaClass(тип): def __new__(cls, name, bases, attrs, *args, **kwargs): # здесь делаем что-нибудь с атрибутами return super().__new__(cls, name, bases, attrs) класс BaseClass(keywordarg="foo", метакласс=BaseMetaClass): проходить класс ChildClass(BaseClass, ключевое словоarg="bar"): проходить Почему я это пытаюсь сделать:
Я пробую это, потому что пытаюсь понять, как переопределить декоратор, который регистрирует службу, или манипулировать им.
Что я пробовал дополнительно
Я уже пробовал __prepare__, но это не привело к тому результату, на который я надеялся.
Я также попробовал следовать синтаксису, который кажется неверным
class ChildClass(BaseClass(keywordarg="bar)):
Когда я наследую BaseClass от ChildClass, BaseMetaClass.__new__(...) запускается дважды. Сначала с ключевым словом arg «foo», а второй раз с «bar». Можно ли переопределить «foo» с помощью «bar» до того, как оно будет выполнено. Меня не волнует, если он запускается дважды, но при первом выполнении он должен иметь значение «бар».
класс BaseMetaClass(тип): def __new__(cls, name, bases, attrs, *args, **kwargs): # здесь делаем что-нибудь с атрибутами return super().__new__(cls, name, bases, attrs) класс BaseClass(keywordarg="foo", метакласс=BaseMetaClass): проходить класс ChildClass(BaseClass, ключевое словоarg="bar"): проходить Почему я это пытаюсь сделать:
Я пробую это, потому что пытаюсь понять, как переопределить декоратор, который регистрирует службу, или манипулировать им.
Что я пробовал дополнительно
Я уже пробовал __prepare__, но это не привело к тому результату, на который я надеялся.
Я также попробовал следовать синтаксису, который кажется неверным
class ChildClass(BaseClass(keywordarg="bar)):
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как скрыть метод базового класса из производного класса при вызове внутри базового класса?
Anonymous » » в форуме C# - 0 Ответы
- 57 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как скрыть метод базового класса из производного класса при вызове внутри базового класса?
Anonymous » » в форуме C# - 0 Ответы
- 46 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как скрыть метод базового класса из производного класса при вызове внутри базового класса?
Anonymous » » в форуме C# - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как скрыть метод базового класса из производного класса при вызове внутри базового класса?
Anonymous » » в форуме C# - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Использовать экземпляр существующего класса, такой же, как родительский, дочерним классом.
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-