Variáveis e atribuição
Esta aula ensina como criar e usar variáveis em Python, abordando atribuição, tipagem dinâmica, convenções de nomenclatura (snake_case) e atribuição múltipla. Inclui exemplos práticos, boas práticas e exercícios com respostas.
Variáveis são fundamentais em qualquer linguagem de programação. Elas funcionam como "caixas" que armazenam dados na memória, permitindo que você reutilize e manipule esses dados ao longo do código. Em Python, a criação de variáveis é simples e intuitiva, mas existem particularidades importantes, como a tipagem dinâmica e as convenções de nomenclatura.
Nesta aula, vamos explorar como atribuir valores a variáveis, entender como o Python lida com tipos de dados, aprender as melhores práticas para nomear variáveis e descobrir como atribuir múltiplos valores de uma só vez. Ao final, você será capaz de escrever código mais claro e eficiente.
Atribuição
Em Python, a atribuição é feita com o operador =. Diferente de outras linguagens, você não precisa declarar o tipo da variável explicitamente; o Python infere o tipo com base no valor atribuído. Por exemplo:
nome = "Alice"
idade = 30
preco = 19.99No exemplo acima, criamos três variáveis: nome (string), idade (int) e preco (float). O operador de atribuição não é uma igualdade matemática, mas sim uma instrução para armazenar o valor do lado direito na variável do lado esquerdo. Você pode reatribuir uma variável a qualquer momento:
x = 10
x = x + 5 # x agora vale 15
x += 3 # equivalente a x = x + 3, x agora vale 18Note que a reatribuição altera o valor armazenado. A variável sempre se refere ao valor mais recente.
Tipagem dinâmica
Python é uma linguagem de tipagem dinâmica, o que significa que você não precisa declarar o tipo de uma variável; ele é determinado em tempo de execução. Além disso, uma mesma variável pode conter valores de tipos diferentes ao longo do programa:
var = "Olá" # string
var = 42 # agora é int
var = 3.14 # agora é float
var = [1, 2] # agora é listaIsso oferece flexibilidade, mas também exige cuidado: se você espera que uma variável seja de um tipo específico, pode precisar verificar ou converter explicitamente. A função type() retorna o tipo do objeto:
print(type(10)) # <class 'int'>
print(type("abc")) # <class 'str'>Essa dinamicidade é uma das razões pelas quais Python é considerado de alto nível e fácil de usar.
Convenções (snake_case)
Embora Python não force um estilo de nomenclatura, a comunidade adota o snake_case para nomes de variáveis e funções. Isso significa usar letras minúsculas e separar palavras com underscore (_). Exemplos:
nome_completo = "João Silva"
quantidade_itens = 5
preco_total = 29.99Além disso, nomes devem ser descritivos e evitar abreviações obscuras. Constantes (valores que não devem ser alterados) são escritas em UPPER_CASE:
PI = 3.14159
MAX_LIMITE = 100Nomes que começam com underscore (_) são considerados privados por convenção, e nomes com duplo underscore (__) têm tratamento especial (name mangling). Evite usar palavras reservadas como if, for, class.
Atribuição múltipla
Python permite atribuir valores a várias variáveis em uma única linha, separando-as por vírgulas. Isso é útil para inicializar múltiplas variáveis ou trocar valores:
a, b, c = 1, 2, 3
print(a, b, c) # 1 2 3Você também pode atribuir o mesmo valor a várias variáveis usando o operador de atribuição encadeado:
x = y = z = 0
print(x, y, z) # 0 0 0A atribuição múltipla é frequentemente usada para trocar valores de duas variáveis sem precisar de uma variável temporária:
a = 10
b = 20
a, b = b, a
print(a, b) # 20 10Isso funciona porque o Python avalia o lado direito primeiro, criando uma tupla com os valores originais, e depois desempacota na ordem inversa.
Boas práticas
- Use nomes descritivos e em snake_case.
- Evite nomes muito genéricos como
temp,data,var. - Inicialize as variáveis com um valor padrão (ex.:
None,0,""). - Não reutilize variáveis para tipos diferentes sem necessidade; isso pode causar confusão.
- Use atribuição múltipla para tornar o código mais conciso e legível.
Referências
- Documentação oficial do Python: Introdução
- Documentação sobre atribuição
- PEP 8 - Guia de estilo para Python
- Real Python: Variáveis em Python
- W3Schools: Variáveis Python
Exercícios
Crie uma variável chamada
nomecom seu nome e uma variávelidadecom sua idade. Depois, imprima uma frase como "Meu nome é X e tenho Y anos".✓ Resposta:nome = "Maria" idade = 25 print(f"Meu nome é {nome} e tenho {idade} anos")Utilizando atribuição múltipla, crie as variáveis
a,beccom os valores 10, 20 e 30 respectivamente. Depois, troque os valores deaebusando atribuição múltipla e imprima os três valores.✓ Resposta:a, b, c = 10, 20, 30 a, b = b, a print(a, b, c) # 20 10 30Explique o que acontece no código abaixo e qual é o tipo de
varapós cada linha:var = "Python" var = 3.14 var = [1, 2, 3]✓ Resposta:A variável
varé reatribuída sucessivamente. Inicialmente é uma string, depois um float e por fim uma lista. Python permite essa mudança de tipo porque é dinamicamente tipado.Corrija os nomes das variáveis abaixo para seguir a convenção snake_case:
NomeCompleto = "João" valorTotal = 100 meuSaldoBancario = 5000✓ Resposta:nome_completo = "João" valor_total = 100 meu_saldo_bancario = 5000O que será impresso pelo código abaixo? Justifique.
x = 5 x = x + 2 x += 3 print(x)✓ Resposta:Imprime 10. Inicialmente x=5, depois x=7 (5+2), depois x=10 (7+3).