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 wrapperAplique 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 runsO @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 wrapperAplique 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.
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
1Fundamentos de POO
Arquivos ExternosIntrodução à POOClasses vs ObjetosO Parâmetro selfMétodosAtributosMétodo Construtor (__init__)Recapitulação - Calculadora Simples4Herança
Herança BásicaA Função super()Sobrescrita de MétodoHerança MúltiplaOrdem de Resolução de MétodosRecapitulação - Hierarquia de Funcionários7Métodos Especiais
Introdução aos Métodos MágicosSobrecarga de OperadoresMétodos Mágicos de ContêinerRecapitulação - Lista Personalizada10Padrões de Projeto Parte 1
Introdução a Padrões de ProjetoPadrão SingletonPadrão FactoryPadrão ObserverPadrão Strategy2Decoradores
Introdução aos DecoradoresDecorador de PropriedadeDecorador de Método EstáticoDecorador de Método de Classe5Polimorfismo
Sobrescrita de Método RevisitadaDuck TypingClasses e Métodos AbstratosDesign de InterfacesRecapitulação - Calculadora de Formas8Conceitos Avançados de POO
Composição vs HerançaMixinsMétodos Estáticos e de ClasseDecoradores de ClasseGerenciadores de Contexto11Padrões de Projeto Parte 2
Padrão CommandPadrão AdapterPadrão DecoratorPadrão Template MethodPadrão StatePadrão Composite3Propriedades de Classe
Variáveis de Instância vs de ClasseDecoradores de PropriedadeAtributos PrivadosRecapitulação - Gerenciador de Conta Bancária6Encapsulamento
Membros Públicos, Protegidos e PrivadosModificadores de AcessoOcultação de InformaçãoProperty Decorators AvançadosRecapitulação - Sistema de Registro de Alunos12Projeto: Gerenciamento de Biblioteca
Visão Geral do ProjetoClasses Livro e Usuário