self в декораторах python

Мне нужен декоратор, который бы добавлял декорированную функцию в список, например:

class My_Class(object):

    def __init__(self):
        self.list=[]

    @decorator
    def my_function(self)
       print 'Hi'

Я ожидаю, что my_function будет добавлен в self.list, но я просто не могу написать этот декоратор. Если я попытаюсь записать его внутри My_Class, мне придется использовать @ self.decorator, а self не существует, так как мы вне какой-либо функции. И если я попытаюсь записать его из My_Class, я не смогу получить себя из my_function.

Я знаю, что существуют очень похожие вопросы, но они слишком сложные, и я только изучаю Python и декораторы.

5
задан Fred Foo 4 December 2011 в 14:28
поделиться