Skip to content

Instantly share code, notes, and snippets.

@tiagodavi
Created November 10, 2011 19:54
Show Gist options
  • Save tiagodavi/1355973 to your computer and use it in GitHub Desktop.
Save tiagodavi/1355973 to your computer and use it in GitHub Desktop.
Decorators In Python
#Recebe a função soma como argumento (f = soma)
def meu_decorator(f):
#Escreve uma nova função
#nova_soma recebe os mesmos argumentos da soma (não precisa ser *args)
#Imagine que é uma nova versão da sua soma
def nova_soma(x,y):
#Executa algo antes
print 'iniciando nova soma'
f(x,y) #Chama a própria função soma (a soma externa)
#Executa algo depois
print 'finalizando nova soma'
#Retorna a nova versão da soma
return nova_soma
#Com decorator executa uma nova versão de soma
#Sem decorator executa a soma normal
@meu_decorator
def soma(x,y):
print "continua sendo a soma externa veja :) " + str(x + y)
soma(2,2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment