Как я могу ссылаться на этот метакласс внутри метакласса, не указывая его имя в коде? [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу ссылаться на этот метакласс внутри метакласса, не указывая его имя в коде? [закрыто]

Сообщение Anonymous »

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

Код: Выделить всё

class Meta(type):
def __new__(cls, name, base, attrs):
attrs.update({'name': '', 'email': ''})
return super().__new__(cls, name, base, attrs)

def __init__(cls, name, base, attrs):
super().__init__(name, base, attrs)
cls.__init__ = Meta.func

def func(self, *args, **kwargs):
setattr(self, 'LOCAL', True)

class Man(metaclass=Meta):
login = 'user'
psw = '12345'
Как я могу ссылаться на этот метакласс внутри метакласса, не указывая его имя в коде? Без Meta в строке: cls.__init__ = Meta.func
Если кто-то захочет изменить имя метакласса, он перестанет работать. Потому что нужно будет внести изменения внутри этого метакласса. Потому что я явно указал его название в коде. Я думаю, что это неправильно. Но я не знаю, как это выразить по-другому.
Я пробовал cls.__init__ = cls.func, но он не создает локальные переменные для класса Man объект. cls относится к создаваемому классу(), а не мета

Подробнее здесь: https://stackoverflow.com/questions/782 ... g-its-name
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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