‫Certo, vamos jogar um joguinho, você consegue adivinhar qual será o resultado deste programa?
‫Eu tenho aqui igual a um.
‫Em seguida, criamos uma função chamada confusão onde temos a igual a cinco e retornamos uma minha pergunta é,
‫quando imprimimos A e quando imprimimos confusão, o que você espera que aconteça aqui?
‫Pare um pouco para fazer uma pausa, se necessário, e vamos descobrir.
‫Uma em cinco.
‫É isso que você esperava?
‫Vamos linha por linha.
‫Primeiro, atribuímos o valor um à variável A, então criamos uma função chamada confusão e o interpretador Python dirá, tudo bem, função
‫confusão, eu sei o que é.
‫Vou colocar na memória.
‫Quando você precisar me usar, é só me avisar.
‫E então vai para a linha oito e a linha oito vai dizer, ei, imprimir um o que é ..
‫Bem, a única vez que vi A foi bem aqui, igual a um.
‫Então, indo para a memória, o que dizer é igual a um.
‫Mas então quando eu corro uma confusão como essa.
‫Vou dizer, ei, A vai ser igual a cinco e agora voltamos, que é cinco.
‫OK, e se eu mudar a ordem disso?
‫E se eu for assim?
‫O que vai acontecer?
‫Se eu clicar, corra.
‫É isso que você esperava?
‫Mais uma vez, temos um próximo, então definimos a função e depois imprimimos a confusão.
‫Agora, a confusão aqui vai atribuir um igual a cinco e depois retornar A, mas por que isso não mudou?
‫Por que A ainda é igual a um quando chegamos aqui?
‫E isso é por causa do escopo, certo?
‫O que o interpretador Python faz é quando executa a função de confusão, vai dizer, ei, A vai
‫ser igual a cinco, mas estou criando uma variável aqui chamada A em meu próprio universo.
‫Não sei nada sobre igual aqui.
‫Eu tenho meu próprio universo e depois de executarmos essa função, então, tudo bem.
‫Retornamos a função e ela desapareceu completamente.
‫Mas nunca deixamos o universo no âmbito global.
‫Portanto, há um conjunto de regras pelas quais o interpretador Python passa para verificar uma variável e as regras são
‫estas.
‫Primeiro, ele vai verificar com o local.
‫Portanto, comece com local e o que chamamos de escopo local.
‫Um escopo local é um escopo que faz parte dessa função local.
‫Portanto, A é um escopo local.
‫Vai verificar lá.
‫Ei, eu sei a variável?
‫Bem, sim.
‫Quando eu retorno A, tenho uma variável definida aqui, então ela começa aí.
‫Mas digamos que um não estivesse lá.
‫Digamos que eu remova e clique em executar aqui.
‫Eu recebo os dois uma vez, porque a segunda regra é se não há nada na variável local ou escopo
‫local, então número dois, há uma escola local de pais?
‫Em nosso caso, qual é o pai da disfunção?
‫Bem, é o escopo global, mas também podemos fazer outra função.
‫Digamos que pai e mãe são os pais da função de confusão.
‫E aqui, digamos que a é igual a dois 10.
‫Agora, aqui, vamos voltar.
‫Confusão apenas para que possamos usá-lo novamente e realmente executá-lo.
‫Então, vamos ligar para o pai.
‫E clique em correr.
‫Tudo bem, vamos examinar isso para não ficar muito confuso.
‫Temos sua função pai que é chamada.
‫Então, quando chamamos isso, atribuímos um igual a dez e também criamos uma nova função, confusão.
‫E então, finalmente, devolvemos a confusão e realmente o executamos.
‫Então, vamos retornar A e imprimir aqui qualquer que seja o valor de A, que é 10.
‫E por que isto?
‫Bem, porque primeiro começamos com o escopo local.
‫Ei, essa confusão sabe o que é A?
‫Não, eu não o tenho em meu escopo local, OK, meu escopo local pai o tem?
‫Então, isso vai subir um nível e dizer, ei, os pais funcionam hoje em dia?
‫Sim, tenho cerca de 10.
‫Então, vai imprimir que a terceira regra ou a terceira ordem é global.
‫E global é o que chamamos de indentação de nada, é esse arquivo, certo, o que quer que o arquivo tenha que
‫é global no nosso caso, se A igual a dez não existe aqui, não existe local, não existe local
‫pai.
‫E eu clico em correr.
‫Ele verifica o escopo global.
‫E, finalmente, há uma outra regra, e esta é a número quatro, e é complicada,
‫e é o que chamamos de construída em Python.
‫Ou funções Python integradas.
‫Portanto, o Python também vem com funções predefinidas, algumas das quais falamos antes.
‫Alguns, digamos, basta dar cinco.
‫Vai verificar ou na verdade não vamos dar nada, vamos apenas fazer um pouco aqui.
‫Quando eu executar isso.
‫Recebo algumas funções embutidas.
‫Agora, como ele sabia o que era isso, qual era essa variável no final do dia?
‫Bem, é porque dizia, ei, eu tenho algum dentro deste universo?
‫Não, eu não.
‫OK, eu tenho algum em meu escopo pai?
‫Não, eu não.
‫OK, eu tenho uma soma global?
‫Não, não há nada aqui.
‫E a última coisa que ele vai verificar é, ei, se algum tipo de função Python embutida.
‫Sim.
‫Python na verdade nos dá alguns para que você possa usá-los para que não sejam arejados.
‫E essas são as regras de escopo que o interpretador Python cai muito, muito legal.
‫Ainda há mais algumas coisas que precisamos aprender.
‫Então, vejo vocês no próximo vídeo.