Есть кусочек кода, на первый взгляд ничего сложного, но он не отрабатывает и я не могу понять в чем дело. Суть в том, что я не могу унаследоваться от декорированого класса. Ошибка вываливается еще на этапе импорта файла, т.к. в конструктор декоратора который должен принять объект класса(производный от type) на этом этапе передается 4-е параметра вместо одного законного.
class Decorator:
def __init__(self, cls):
self.cls = cls
def __call__(self, *args, **kwargs):
return self.cls(*args, **kwargs)
@Decorator
class Parent: pass
class Child(Parent): pass
def main():
pass
if __name__ == "__main__":
main()
Я так понимаю он пытается создать метакласс раз передает ему 4-е параметра? Как обойти это ограничение? Как сделать это по-человечески? Объясните пожалуйста. Заранее благодарю!