Как я могу ссылаться на этот метакласс внутри метакласса, не указывая его имя в коде? [закрыто]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

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