Curso de programação em Python Lição 13 – Alcance das Variáveis em Python(Escopo)

180 0

Bem vindos á décima terceira aula de programação em Python

Este artigo faz parte do curso de programação em Python do Techmoz. Para acessar outras aulas do curso, por favor visite o índice do curso de programação em Python

OBJECTIVOS DA AULA

  • Alcance das Variáveis
  • Nomes locais,globais e Built-ins

Esta aula, meramente teórica, visa explicar um pouco sobre alcance das variáveis num programa em Python.No início do curso dissemos que em Python não havia um local especifico para se declarar uma variável(mas lembre-se também que numca se deve referenciar a uma variável não declarada.), isto quer dizer que podemos declarar a nossa variável mesmo dentro duma função!Mas o que acontece se declararmos duas variáveis com o mesmo nome, uma dentro e outra fora de uma função?

Nomes locais, globais e Built-ins

Em Python existem três referências a nome de variáveis: locais, globais e built-ins.Os nomes locais são aqueles que são definidos dentro duma função, e, só são válidos para aquela função.Os nomes globais são os que são definidos dentro do corpo do programa e são válidos para todo programa.Nomes built-in são as palavras reservadas do programa e nome de funções pré-definidas.Veja este exemplo de programa:

x=3def divide(y):    x=2    return y/xprint(x)print(divide(4))

Ao chamarmos a função divide(3), o x usado é o x local a função. Mas ao imprimirmos o x, o x usado é o x global.Note que se não existisse um x local, a função usaria o x global, mas se não existisse um x global, a instrução print x retornaria em erro.A ordem de procura das variáveis em Python é: Local-Global-Builtin.Porém é possivel declarar uma variável global dentro de uma função usando a sintaxe:

global nomedafuncao

Agora já percebes o perigo de usar a instrução from modulo import *?Como disse no início, esta aula era só para apresentar um pouco de teória, e na proxima aula teremos outra materia interessante em programação: Manipulação de arquivos.Até lá!!!!

(Visited 20 times, 1 visits today)