Python: Decoradores

Esta documentação faz parte do guia Aprender Python. Consulte o guia completo aqui: Um guia abrangente de Python.

👋 Bem-vindo à documentação do Stackhero!

Stackhero oferece uma solução cloud Python pronta a usar que proporciona uma série de benefícios, incluindo:

  • Implemente a sua aplicação em segundos com um simples git push.
  • Utilize o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para uma segurança reforçada.
  • Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e preços simples, transparentes e previsíveis.
  • Obtenha performance ótima e segurança robusta graças a uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: só leva 5 minutos para experimentar a solução de hospedagem cloud Python do Stackhero!

Os decoradores permitem estender ou modificar o comportamento de funções ou classes sem alterar o seu código-fonte. Eles envolvem outra função e adicionam alguma funcionalidade antes ou depois da execução da função envolvida.

def decorator_function(func):
  def wrapper(*args, **kwargs):
    # fazer algo antes de chamar a função
    result = func(*args, **kwargs)
    # fazer algo depois de chamar a função
    return result
  return wrapper

@decorator_function
def my_function():
  # fazer algo

Exemplos:

def greet_decorator(func):
  def wrapper(name):
    return "Hello, " + func(name) + "!"
  return wrapper

@greet_decorator
def get_name(name):
  return name

print(get_name("John"))  # Saída: Hello, John!