1.2. Variáveis¶
Variáveis são estruturas que permitem armazenar valores para leitura e uso posterior. Do ponto de vista computacional, elas funcionam como “apelidos”, compreensíveis por humanos, para endereços de memória. Para facilitar a compreensão do conceito, podemos imaginar que a memória do computador é uma espécie de armário e as variáveis indicam as gavetas ou portas onde os valores estão armazenados.
Fig. 1.4 Representação da memória como um armário e variáveis como endereços para as gavetas.¶
1.2.1. Nomes e Identificadores¶
Como na maior parte das linguagens, identificadores (nomes de variáveis, funções, classes, etc) permitem letras minúsculas e maiúsculas, dígitos e traço baixo ou underline (_). Identificadores não possuem limite de tamanho e diferenciam entre minúsculas e maiúsculas (case sensitive), ou seja variavel é diferente de Variavel. Identificadores especiais costumam começar e terminar com duplos traços baixos, e.g. __init__. Seguem algumas convenções para nomeação de identificadores:
Identificador |
Convenção |
Exemplo |
---|---|---|
Módulos/pacotes |
caracteres minúsculos |
projetopython |
Métodos/funções/variáveis |
minúsculos_separados_por_underlines |
variavel_aleatoria |
Globais/constantes |
maiúsculos_separados_por_underlines |
CONSTANTE |
Classes |
Iniciais Maiúsculas |
NormalDistribution |
1.2.2. Atribuição de valores¶
Em Python não há um comando exclusivo para declaração de variáveis e seus tipos. Na verdade, não são as variáveis que tem tipo, mas sim os valores armazenados nelas por meio do operador de atribuição (=). Por exemplo, podemos criar uma variável idade e armazenar nela o valor 30. Se essa for a primeira vez que o identificador idade aparecer neste trecho de código, a variável será criada nesse momento. Como este material está escrito usando Jupyter Notebooks, para avaliar o valor da variável, basta digitar seu nome embaixo da declaração (em outras situações, será necessário usar o comando print, mas ainda veremos isso).
idade = 30
idade
30
O símbolo = não está testando igualdade no comando acima. A operação deve ser lida como:
A variável idade recebe o valor 30.
Para verificarmos o tipo do valor armazenado na variável, podemos fazer:
type(idade)
int
Se mudarmos o valor armazenado para um texto, e.g. ‘Estatística’, veremos que não ocorrerá erro e a operação de verificação de tipo retornará o tipo correto.
idade = 'Estatística'
type(idade)
str
O código à direita do operador de atribuição não precisa ser apenas um valor, podendo conter uma expressão complexa (incluindo várias operações e chamadas de funções), cujo resultado será armazenado na variável. Como um exemplo simples, vamos adicionar 1 ao valor armazenado na variável idade e armazenar o resultado na própria variável, substituindo o valor anterior.
idade = 30
idade = idade + 1
idade
31
1.2.2.1. Atribuições com operações¶
Assim como outras linguagens de programação, Python suporta atribuições associadas a certas operações, como soma ou concatenação (+=), subtração (-=), multiplicação (*=), divisão (/=) e outras operações que veremos na próxima Seção. Quando essas atribuições especiais são usadas, a operação associada é realizada sobre os valores da expressão à direita do operador e da variável à esquerda e o novo valor é atribuído à mesma variável. Por exemplo, o código acima pode ser reescrito como:
idade = 30
idade += 1
idade
31
Outros exemplos:
idade = 30
idade -= 1
idade
29
idade = 30
idade *= 2
idade
60
idade = 30
idade /= 2
idade
15.0
1.2.2.2. Atribuições múltiplas¶
Python permite que múltiplas atribuições sejam feitas na mesma linha de algumas formas. Primeiro, pode-se simplesmente usar vírgulas para separar os identificadores de variáveis à esquerda do operador de atribuição e os valores à direita do operador de atribuição. Na prática, essa operação de atribuição é realizada por meio de variáveis do tipo Tupla, que veremos mais à frente.
idade, altura = 30, 1.78
idade
30
altura
1.78
Pode-se também envolver os identificadores e os valores em colchetes [ ]. Na prática, essa operação de atribuição é realizada por meio de variáveis do tipo Lista, que também veremos mais à frente.
[idade, altura] = [30, 1.78]
idade
30
altura
1.78