Nesta aula, vamos explorar o conceito de variáveis em Python e como atribuir valores a elas. Variáveis são fundamentais em qualquer linguagem de programação, pois permitem armazenar e manipular dados. Python possui características únicas, como tipagem dinâmica e suporte a atribuição múltipla, que tornam o código mais conciso e flexível.

Vamos começar com a forma mais básica de atribuição e depois avançar para tópicos como convenções de nomenclatura e atribuição simultânea de múltiplas variáveis. Ao final, você terá uma compreensão sólida de como trabalhar com variáveis em Python.

Atribuição

Em Python, a atribuição é feita com o operador =. O lado esquerdo contém o nome da variável e o lado direito contém o valor a ser armazenado. Diferente de algumas linguagens, Python não requer declaração explícita do tipo da variável; o tipo é inferido automaticamente a partir do valor atribuído.

Exemplo simples:

nome = "Alice"
idade = 25
pi = 3.14159

Após a atribuição, a variável pode ser usada em expressões e operações. É possível reatribuir um novo valor a uma variável existente, inclusive de um tipo diferente (devido à tipagem dinâmica).

x = 10
print(x)  # 10
x = "agora sou string"
print(x)  # agora sou string

Tipagem dinâmica

Python é uma linguagem de tipagem dinâmica, o que significa que as variáveis não têm um tipo fixo. O tipo é determinado pelo valor que a variável contém em um determinado momento. Isso oferece flexibilidade, mas também exige cuidado para evitar erros em tempo de execução.

Por exemplo, uma variável pode começar como inteiro e depois receber uma string, como visto acima. A função type() pode ser usada para verificar o tipo atual de uma variável:

a = 42
print(type(a))  # <class 'int'>
a = "quarenta e dois"
print(type(a))  # <class 'str'>

Isso contrasta com linguagens de tipagem estática (como Java ou C), onde o tipo é declarado e não pode mudar. A tipagem dinâmica torna Python mais rápido para prototipar, mas pode levar a bugs sutis se não houver testes adequados.

Convenções (snake_case)

Python possui uma convenção de nomenclatura chamada snake_case, onde nomes de variáveis são escritos em letras minúsculas com palavras separadas por underscores. Essa é uma recomendação do guia de estilo oficial (PEP 8).

Exemplos de nomes em snake_case:

nome_do_usuario = "João"
numero_de_tentativas = 3
valor_total = 199.99

Além disso, evita-se usar caracteres especiais como espaços ou hífens, e nomes não devem começar com números. Constantes (valores que não devem ser alterados) são escritas em MAIÚSCULAS com underscores, mas isso é uma convenção, não uma regra rígida.

PI = 3.14159
TAXA_DE_JUROS = 0.05

Seguir essas convenções torna o código mais legível e consistente, especialmente em projetos colaborativos.

Atribuição múltipla

Python permite atribuir valores a múltiplas variáveis em uma única linha. Isso é útil para trocar valores entre variáveis ou para desempacotar sequências (como listas ou tuplas).

Sintaxe básica:

a, b, c = 1, 2, 3
print(a, b, c)  # 1 2 3

Um uso comum é trocar os valores de duas variáveis sem precisar de uma variável temporária:

x = 10
y = 20
x, y = y, x
print(x, y)  # 20 10

Também é possível desempacotar uma sequência (como uma tupla ou lista) em variáveis:

coordenadas = (3, 4)
x, y = coordenadas
print(x, y)  # 3 4

Isso funciona com qualquer iterável, desde que o número de variáveis corresponda ao número de elementos. Caso contrário, ocorrerá um erro. Python 3 também suporta desempacotamento estendido com o operador *, permitindo capturar múltiplos elementos em uma lista:

primeiro, *resto = [1, 2, 3, 4]
print(primeiro)  # 1
print(resto)     # [2, 3, 4]

Referências

Exercícios

  1. Crie uma variável chamada cidade e atribua a ela o nome da sua cidade natal. Depois, imprima o valor.

    ✓ Resposta:
    cidade = "São Paulo"
    print(cidade)
  2. Atribua os valores 10, 20 e 30 às variáveis a, b e c usando atribuição múltipla. Depois, calcule a soma e armazene em soma. Imprima o resultado.

    ✓ Resposta:
    a, b, c = 10, 20, 30
    soma = a + b + c
    print(soma)  # 60
  3. Troque os valores das variáveis x e y (inicialmente x=5, y=7) usando atribuição múltipla. Imprima os novos valores.

    ✓ Resposta:
    x, y = 5, 7
    x, y = y, x
    print(x, y)  # 7 5
  4. Desempacote a lista ["maçã", "banana", "cereja"] em três variáveis: fruta1, fruta2, fruta3. Imprima cada uma.

    ✓ Resposta:
    fruta1, fruta2, fruta3 = ["maçã", "banana", "cereja"]
    print(fruta1)  # maçã
    print(fruta2)  # banana
    print(fruta3)  # cereja
  5. Use desempacotamento estendido para atribuir o primeiro elemento de [1, 2, 3, 4, 5] a primeiro e o restante a resto. Imprima ambos.

    ✓ Resposta:
    primeiro, *resto = [1, 2, 3, 4, 5]
    print(primeiro)  # 1
    print(resto)     # [2, 3, 4, 5]