Deixe-me fazer uma pergunta, o que acontece se essa função Halo realmente pegar um parâmetro, digamos
uma string?
Ou um ganancioso.
E uma saudação seria impressa aqui.
Vamos remover o tchau por enquanto.
Isso ainda funcionaria se eu correr?
Olá?
Pause o vídeo e pense sobre isso.
Vamos descobrir.
Não, isso é um erro, se você pode tentar pausar o vídeo aqui e ver se ele consegue
resolver isso, como podemos fazer isso permitir argumentos?
Eu vejo isso na linha cinco bem aqui.
Diz que a linha cinco hello está faltando uma saudação de argumento posicional necessária porque,
quando realmente chamamos hello, esperamos ter um parâmetro.
Mas aqui não estamos apresentando nenhum argumento.
Como podemos resolver isso?
Bem, a única maneira é simplesmente dizer.
Ganancioso, certo, ou podemos dizer o que quisermos, podemos dizer X e isso.
A função Rapper recebe o parâmetro.
Então, se eu clicar em executar.
Hmm, a linha 13 agora está me apresentando um erro porque, bem, agora precisamos realmente dar-lhe uma saudação.
Então, vamos dizer oi se eu clicar em correr.
Tudo bem, isso funciona.
E espero que isso faça sentido, certo?
Estamos chamando oi com oi.
Portanto, esta função hello foi ultrapassada.
Nós então.
Receba como argumento, o ex, certo, lembre-se, por baixo do capô, meu decorador está dizendo A é igual ao
meu decorador.
E olá, certo?
Então, tudo o que estamos fazendo é administrar meu decorador.
Olá.
Que agora se transforma em sua função rapt, e quando fazemos a função rapt A. , damos a ele um argumento de alto para
que a função rapt aceite esse parâmetro e, em seguida, execute a função.
Olá.
Mas aqui está a questão, e se Gridding também tivesse um emoji que ele aceita?
Então, estamos imprimindo, saudando e depois o emoji.
Hmm, o que vamos fazer?
Bem, de novo, teríamos que criar outro parâmetro e depois outro parâmetro e aqui chamá-lo com, digamos, um
rosto sorridente, se eu clicar, corra.
Bem, isso deve ser uma string se eu clicar em executar.
Isso funciona, mas é agitado toda vez que preciso alterar os parâmetros.
Bem, tenho que modificar isso.
E se tivéssemos argumentos de palavras-chave como.
Padrão alto.
Na verdade, há um padrão aqui que podemos usar que torna as coisas muito, muito simples para nós.
E tudo o que fazemos é fazer os arcos estrela, que vimos, que leva todos os argumentos de posição
e, em seguida, estrela estrela arcos de palavra-chave, que leva todos os argumentos de palavra-chave.
E chamamos a função de.
Saying começa a descompactar todos os argumentos posicionais e arcos de palavra-chave estrela estrela para descompactar todos os argumentos de
palavra-chave.
Agora, se isso parece confuso, não se preocupe, este é apenas um padrão que você pode simplesmente
copiar e colar e lembrar, mas agora verifique isso.
Posso fazer emoji igual a, digamos.
Saffy.
Como um argumento de palavra-chave, e agora se eu apenas passar.
Olá, assim e clique, execute, e vamos remover isso também, já que não precisamos disso, chamaremos hello
corretamente porque temos o decorador e clique em executar.
Olha só, fico chapado com a cara triste.
Agora, a razão pela qual isso é chamado de decorador, é porque é um padrão famoso em programação, é
chamado de padrão de decorador e este é o padrão de decorador.
Isso dá ao nosso decorador flexibilidade para que possamos passar quantos argumentos quisermos para nossa função rapt usando arcos
de estrela e arcos de teclado e, em seguida, desempacotando-os assim dentro de uma função.
E essa sintaxe, digamos, se não tivéssemos nem mesmo as instruções de impressão, essa sintaxe é a razão pela qual os decoradores
são tão poderosos.
Usando apenas essas linhas de código, podemos adicionar funcionalidade usando o padrão decorator para decorar nossas
funções.
E os padrões de decorador são usados em toda a programação, então é um conceito muito, muito poderoso para terminar
a lição sobre decorador.
Quero falar com você sobre algumas das maneiras como os decoradores podem ser úteis e alguns dos locais comuns
em que veremos padrões de decorador em nosso código e vamos construir nosso próprio decorador de
desempenho.
Isso vai nos dizer como nossas funções funcionam, quão rápidas elas são.
E eu prometo a você, no final desse vídeo, decoradores farão sentido para você e
você poderá explicar para outras pessoas e outros amigos porque devemos usar decoradores em nossos programas.
Te vejo agora.
Tchau.