Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Использование decorator


Автор: shupg 27.10.2009, 12:22
Привет!
Есть вопрос по поводу использования декораторов. Как получить словарь переменных функции, если это вообще возможно. У меня получилось только достать оттуда список значений, переданных в функцию. Вот..

Код

def decor_logging(f):
    def decorate(*args):
        print '%s(%s)' % (f.func_name, ','.join([str(a) for a in args]))
        return f(*args)
    return decorate

@decor_logging
def mymethod(f, g = 8):
    print f, g

mymethod(1, 2)


То есть в нутри функции decorate хочеться иметь словарь типа:
Код

kvargs = {'f' : 1, 'g' : 2}

Автор: MapaT 27.10.2009, 19:22
Получить имена аргументов функции:
Код

import inspect
args = inspect.getargspec(func)

Автор: shupg 28.10.2009, 12:30
Пасиба! Теперь только надо склеить два списка в словарь) Тема закрыта

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)