Я пытаюсь сделать это:Python декоратора для класса
import unittest
def decorator(cls):
class Decorator(cls):
def __init__(self, *args, **kwargs):
super(Decorator, self).__init__(*args, **kwargs)
return Decorator
@decorator
class myClass(unittest.TestCase):
def __init__(self, *args, **kwargs):
super(myClass, self).__init__(*args, **kwargs)
self.test = 'test'
def test_test(self):
pass
myClass().run()
Но я получаю рекурсии в MyClass.__init__
. Есть ли способы избежать этого?
Подсказка к OP: Если вы вставляете здесь уменьшенный код, убедитесь, что он действительно показывает проблему, которую вы собираетесь решить. В этом случае просто вставьте опубликованный код в интерактивный Python и попробуйте его. – Alfe
Я обновил свой код до проблемной версии. – Eugene
Что это за 'декоратор ', который должен выполняться в роли« декоратора класса »... –