‫Bem vindo de volta.
‫Vamos tentar responder a algumas perguntas que você possa ter, por exemplo, e os parâmetros?
‫Se eu fizer parâmetro, digamos estar aqui, o que é esse parâmetro quando eu uso B assim?
‫Então, digamos imprimir.
‫B e aqui, vou criar confusão com, digamos, o número trezentos se eu executar isso.
‫Isso funciona.
‫E isso porque ser o parâmetro faz parte do escopo local, isso é parte disso.
‫Portanto, os parâmetros são considerados variáveis locais.
‫Podemos usá-lo dentro da função, mas podemos usá-lo fora dessas funções.
‫Tecnicamente, quando definimos a função, informamos ao interpretador, ei, B vai ser uma variável
‫local.
‫OK, e quanto a isso?
‫E se tivermos isso, hein?
‫Mas quero ter certeza de que dentro da minha função estou realmente me referindo ao A
‫global. Existe uma maneira de usarmos esse valor sem criar uma nova variável?
‫Bem, vamos usar um exemplo melhor para isso.
‫Digamos que eu queira criar um contador.
‫Portanto, teremos total igual a zero.
‫E então aqui.
‫Eu vou dizer definir contagem.
‫E essa função vai dizer total.
‫Mais é igual a um.
‫Então, vamos adicionar cada vez que adicionarmos a contagem, ela vai incrementar zero por um e então um por um, assim
‫por diante e assim por diante.
‫Então, vamos retornar o total no final disso.
‫OK, então se eu correr aqui, imprima.
‫Contar.
‫Vamos ver o que acontece.
‫Eu vou bater em correr.
‫E eu obtenho outra variável local total referenciada antes da atribuição, e isso porque, bem, Count não conhece
‫o total.
‫Você está tentando usar o total, mas não atribuímos nada ainda.
‫Mas queremos que o total do mundo exterior seja executado, porque se eu apenas fizer isso, o total é igual a zero aqui e
‫eu faço a contagem.
‫Isso é ótimo, eu recebo um, mas e se eu quisesse executar a contagem várias vezes?
‫E se eu quisesse fazer a contagem?
‫Digamos três vezes para que a contagem total seja três.
‫Então, vamos imprimir o último aqui.
‫E eu clico em correr.
‫Ainda recebo um porque sempre que executamos a função, zeramos o total.
‫Isso não é muito útil, não é?
‫Então, uma maneira de corrigir isso é usando o que chamamos de palavra-chave global em Python e global diz usar o total global
‫se ele existir aqui, de modo que, em vez de ter que criar uma nova variável, eu possa
‫usar a variável global total.
‫Veja isso.
‫Bem, recebo uma sintaxe inválida, e isso é porque primeiro temos que dizer que o total global será
‫usado aqui e então podemos dizer total mais igual a um se eu executar isso.
‫Olhando para isso, temos um contador adequado, então global é uma forma de acessarmos essa variável global.
‫No entanto, eu argumento que esta não é uma boa maneira de fazer as coisas porque pode ficar muito confuso
‫quando você começa a adicionar Global's e todos esses diferentes universos estão acessando as variáveis uns dos outros, uma
‫maneira melhor de fazer isso é algo chamado injeção de dependência, e esta é uma versão simplificada dele.
‫Mas a ideia é que em vez de acessar variáveis fora da função como essa, o que pode ficar muito, muito
‫complicado conforme os arquivos ficam cada vez maiores, é o que fazer.
‫Em vez disso.
‫Total.
‫Assim, criamos um parâmetro e depois passamos esse parâmetro.
‫Ou argumento aqui.
‫Mas, como você pode ver, ainda é um porque, quando imprimimos o terceiro total, bem, isso nunca
‫muda.
‫Este é um zero global.
‫Em vez disso, podemos fazer algo assim, podemos dizer contagem total, da qual vamos contar novamente.
‫E então conte novamente.
‫Se eu executar isso.
‫Eu tenho três e sei o que você está pensando, isso é completamente insano, parece confuso.
‫Veja todos esses colchetes.
‫Mas deixe-me mostrar o que realmente fizemos.
‫Somos capazes de separar a dependência ou o efeito que isso não pode funcionar teve no escopo global externo e, em vez
‫disso, focar apenas em sua saúde.
‫Tudo o que precisávamos fazer era dizer, ei, quero que você dê uma contagem com total de zero.
‫E depois disso, isso vai avaliar dois um.
‫E então contamos que um total de um mais um vai ser igual a dois e então contamos dois mais um vai
‫ser igual a três.
‫Dessa forma, ainda podemos fazer nossa contagem sem ter que usar essa palavra-chave global, que eu diria que
‫é melhor.
‫Lembre-se, se esta é a primeira vez que vê isso, pode ficar um pouco complicado.
‫Mas pelo menos assim, você sabe que existem diferentes maneiras de fazer as coisas.
‫Outra palavra que quero mostrar a você é algo chamado não local.
‫Mas para esse, vamos dar um tempo e até o próximo vídeo.