Comment changer une fonction de retour avec le décorateur en python?

Je veux créer un décorateur pour changer une fonction de la valeur de retour comme ça, Comment le faire comme ci-dessous?:

def dec(func):
    def wrapper():
        #some code...
        #change return value append 'c':3
    return wrapper

@dec
def foo():
    return {'a':1, 'b':2}

result = foo()
print result
{'a':1, 'b':2, 'c':3}

OriginalL'auteur libaoyin | 2011-08-26