Menu
Coddy logo textTech

Introdução aos Decoradores

Parte da seção Object Oriented Programming do Journey de Python da Coddy — lição 9 de 64.

Decoradores são uma maneira de modificar ou aprimorar funções e classes sem alterar seu código original. Eles usam o símbolo @.

Aqui está um exemplo de um decorador simples: 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Aplique o decorador usando @:

@my_decorator
def say_hello():
    print("Hello!")

Chame a função decorada:

say_hello()

Saída:

Before function runs
Hello!
After function runs

O @my_decorator é equivalente a escrever:

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

Mas a sintaxe @ é muito mais limpa e fácil de ler.

Ponto Chave: Decorators envolvem funções para adicionar funcionalidade extra sem modificar o código original da função

Folha de consulta

Decoradores modificam ou aprimoram funções sem alterar seu código original usando o símbolo @.

Estrutura básica de um decorador:

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Aplique o decorador usando @:

@my_decorator
def say_hello():
    print("Hello!")

A sintaxe @my_decorator é equivalente a:

say_hello = my_decorator(say_hello)

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Object Oriented Programming