Para finalizar nosso entendimento de funções, temos que falar sobre escopo, outro de nossos
termos-chave.
Qual é o escopo?
Vamos dar uma olhada.
Escopo é algo presente em muitas linguagens de programação e escopo significa simplesmente a quais variáveis
eu tenho acesso?
Então, o que quero dizer com isso?
Bem, nós vimos isso antes, certo, onde eu imprimo e digamos, Nate, se eu clicar em executar.
Vou pegar um ar, um nome, ar nome, nome não definido porque, bom, não existe né?
E até este ponto, não discutimos isso realmente, mas é por causa do escopo.
Quais variáveis eu tenho acesso para que o interpretador Python diga, ei, a que eu tenho acesso?
E quando usamos algo que ele não entende ou ao qual não tem acesso, isso vai causar um
pesadelo.
Ou a variável não está definida, ar e escopo em Python tem o que chamamos de escopo funcional ou escopo de função.
O que isso significa?
Bem, até agora, quando criamos uma variável como total igual a cem, isso faz parte do que chamamos de
escopo global.
Isso significa que qualquer pessoa neste arquivo tem acesso a essa variável total.
Posso usar isso dentro de um bloco condicional.
Posso usar dentro de uma função.
Possui abrangência global.
Mas quando digo Python tem escopo de função.
O que quero dizer é que quando criamos uma função e digamos que criamos total como alguma ou digamos alguma
função.
E a gente cria total dentro da função, se eu imprimir o total aqui e clicar em executar.
Eu recebo a mesma coisa, o nome total não está definido, isso é por causa do escopo da função do Python, sempre que
criamos uma variável, se ela não estiver dentro de uma função.
Então ele faz parte do escopo global, nós temos acesso a ele, mas você vê aqui nós temos aquele total de
nome indefinido sublinhado em vermelho.
Digamos, por exemplo, que eu tenho uma condição verdadeira.
Então, X é igual a 10 se eu fizer isso e disser X e clicar em executar.
Eu tenho 10 porque, bem, embora eu tenha recuo.
Na única vez em que crio um novo escopo, você pode pensar nisso como um novo universo que geramos.
Bem, só podemos fazer isso quando definimos uma função como esta, então pense em escopo como um novo mundo que criamos em nosso
caso, quando criamos uma função, criamos um novo mundo que tudo o que está indentado dentro
da função é seu próprio mundo ao qual realmente não temos acesso.
Só podemos usar o total se indentarmos a impressão.
E faz parte deste mundo.
Isso é o que é escopo, quem tem acesso a quem.
Então, vamos fazer uma pausa aqui e quero fazer um joguinho no próximo vídeo, onde tentaremos
descobrir quem tem acesso a quem.
Eu vou ver naquele por.