Perguntas com a marcação «decorator»

Decorator é um padrão de design orientado a objetos que permite adicionar comportamento às classes existentes de maneira dinâmica. É um dos padrões de projeto estrutural da Gangue dos Quatro.

946
Criando um singleton em Python

Esta pergunta não é para discutir se o padrão de design singleton é desejável ou não , é um anti-padrão ou para qualquer guerra religiosa, mas para discutir como esse padrão é melhor implementado no Python da maneira mais pitônica. Nesse caso, defino "mais pitonico" para significar que segue o...

650
O que o functools.wraps faz?

Em um comentário sobre essa resposta a outra pergunta , alguém disse que não tinha certeza do que functools.wrapsestava fazendo. Então, eu estou fazendo esta pergunta para que haja um registro no StackOverflow para referência futura: o que functools.wrapsfaz

401
Decoradores com parâmetros?

Estou com um problema com a transferência da variável 'insurance_mode' pelo decorador. Eu o faria pela seguinte declaração do decorador: @execute_complete_reservation(True) def test_booking_gta_object(self): self.test_select_gta_object() mas, infelizmente, esta afirmação não funciona. Talvez...

207
Como implementar um decorador datilografado?

O TypeScript 1.5 agora possui decoradores . Alguém poderia fornecer um exemplo simples demonstrando a maneira correta de implementar um decorador e descrever o que significam os argumentos nas possíveis assinaturas válidas do decorador? declare type ClassDecorator = <TFunction extends...

140
Decoradores Python nas aulas

Pode-se escrever algo como: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass Isso falha: self in @self é desconhecido Eu também tentei: @Test._decorator(self) que também falha: Teste desconhecido Gostaria de alterar temporariamente algumas...

129
Como decorar uma aula?

No Python 2.5, existe uma maneira de criar um decorador que decora uma classe? Especificamente, quero usar um decorador para adicionar um membro a uma classe e alterar o construtor para obter um valor para esse membro. Procurando algo como o seguinte (que possui um erro de sintaxe na 'classe...