Variáveis

Na seção anterior, vimos tipos básicos de Python e como criar expressões com operadores desses tipos básicos. Além disso, calculamos várias expressões matemáticas, mas não armazenamos o resultado de nenhuma delas. Quando estamos programando, precisamos armazenar os resultados de computações intermediárias e de dados importantes que serão manipulados por nossos programas. O recurso que nos permite fazer isso é chamado de variáveis da linguagem.

O que é uma variável?

Uma variável em Python é uma forma de associar um nome a um valor. Simples assim.

Veja o exemplo abaixo:

a = 5

Uma forma de ler o código acima é dizer que estamos associando o nome a ao valor 5. Podemos também dizer que estamos atribuindo o valor 5 à variável a.

Após o código acima ser executado, o nome a se refere (faz referência, está associado) ao valor 5. Isso pode parecer simples, mas é muito importante entendermos como variáveis funcionam em Python.

Além disso, mais de um nome pode estar associado ao mesmo valor, como no exemplo abaixo.

a = 5
b = a
print(b)
5

No exemplo acima, tanto a quanto b fazem referência ao valor 5.

Vejamos outro exemplo, um pouco mais elaborado:

# Cálculo da área de um triangulo.
base = 2
altura = 5
area = (base * altura) / 2
print(area)
5.0

No exemplo acima, criamos uma variável chamada base à qual atribuímos o valor 2, uma variável altura, à qual atribuímos o valor 5, e uma variável area, à qual atribuímos um cálculo envolvendo a base e a altura.

O que o interpretador Python faz ao encontrar cada uma das atribuições de variáveis é explicado em mais detalhes abaixo:

  • base = 2: Ao ler essa sentença, o interpretador cria uma associação entre o nome base e o valor 2. Se mais tarde fizermos base = 30, o interpretador simplesmente atualizará o valor dessa variável (a associação entre o nome e um valor pode ser mudada).

  • altura = 5: idêntico ao item anterior.

  • area = (base * altura) / 2: Ao ler essa sentença, o interpretador recuperas os valores associados aos nomes base e altura e os utiliza no cálculo do valor que será associado ao nome area. Podemos imaginar esse processo acontecendo em etapas, como mostrado abaixo:

    1. area = (base * altura) / 2

    2. area = (2 * altura) / 2

    3. area = (2 * 5) / 2

    4. area = 10 / 2

    5. area = 5.0

No exemplo acima, escolhemos nomes significativos para as variáveis, o que ajuda quem está lendo o código a descobrir (juntamente com o comentário) o que ele está de fato fazendo. É extremamente importante dar nomes significativos às variáveis de seus programas. Eles ficarão muito mais legíveis e fáceis de serem modificados mais tarde.

Normalmente, pensamos que escrevemos código para ser executado por computadores, o que é verdade, mas pode nos levar a negligenciar aspectos importantes de documentação. Ao invés disso, deveríamos pensar que estamos escrevendo código para ser lido por outros humanos.

Palavras reservadas

É importante ressaltar que nem toda palavra pode ser usada como nome de uma variável em Python. Existem algumas regras.

Nomes de variáveis em Python podem conter caracteres alfanuméricos (a-z, A-Z, 0-9) e alguns caracteres especiais, como o _.

Por convenção, nomes de variáveis começam com letra minúscula.

Existem palavras reservadas em Python (elas são parte do vocabulário da linguagem), que não podem ser usadas como nomes de variáveis:

and, as, assert, break, class, continue, def, del, elif, else, except,
exec, finally, for, from, global, if, import, in, is, lambda, not, or,
pass, print, raise, return, try, while, with, yield

Na próxima seção veremos mais exemplos do uso de variáveis para armazenar resultados de operações com os tipos básicos da linguagem e entenderemos melhor o funcionamento desses tipos.