Переопределить значение ключа, которое передается метаклассу базового класса его дочерним классом.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Переопределить значение ключа, которое передается метаклассу базового класса его дочерним классом.

Сообщение Anonymous »


Когда я наследую 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)):
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»