Variáveis e Tipos de Dados
Dominando o Python em 1 Ano
Artigo 02 — Variáveis e Tipos de Dados
Prof. Ricardo Matos Módulo 1 · Fundamentos da Linguagem · Artigo 2 de 6
Introdução
Todo programa manipula informação. Para isso, a linguagem precisa de uma forma de armazenar e identificar dados na memória do computador. Em Python, esse mecanismo é simples e direto — mas esconde decisões de design que vale entender desde o início.
O que é uma Variável?
Uma variável é um nome que aponta para um valor armazenado na memória. Em Python, você não precisa declarar o tipo da variável antecipadamente — basta atribuir um valor:
nome = "Ricardo"
idade = 35
altura = 1.78
ativo = True
Python descobre o tipo automaticamente. Isso se chama tipagem dinâmica — o tipo está associado ao valor, não ao nome da variável.
Diferente de Java ou C, onde você escreveria:
// Java
String nome = "Ricardo";
int idade = 35;
Em Python, o nome da variável é apenas um rótulo. Você pode inclusive reatribuí-lo a um tipo diferente (embora isso seja má prática):
x = 10
x = "agora sou texto" # válido, mas evite
Tipos de Dados Fundamentais
int — Números inteiros
ano = 2024
populacao = 215000000
temperatura_negativa = -15
print(type(ano)) # <class 'int'>
Python suporta inteiros de tamanho arbitrário — não há limite de bits como em C ou Java.
numero_gigante = 10 ** 100 # 1 googol — funciona perfeitamente
float — Números decimais
preco = 49.90
pi = 3.14159
gravidade = -9.8
print(type(preco)) # <class 'float'>
Atenção ao problema clássico de ponto flutuante:
>>> 0.1 + 0.2
0.30000000000000004
Isso não é bug do Python — é uma limitação do padrão IEEE 754, presente em praticamente todas as linguagens. Para cálculos financeiros, use o módulo decimal:
from decimal import Decimal
resultado = Decimal("0.1") + Decimal("0.2")
print(resultado) # 0.3
str — Texto
Strings podem ser delimitadas por aspas simples ou duplas — o resultado é idêntico:
saudacao = "Olá, mundo!"
linguagem = 'Python'
Para textos com múltiplas linhas, use três aspas:
mensagem = """
Linha 1
Linha 2
Linha 3
"""
Strings em Python são imutáveis — uma vez criadas, não podem ser alteradas. Operações sobre strings sempre geram uma nova string.
nome = "ricardo"
print(nome.upper()) # RICARDO
print(nome.capitalize()) # Ricardo
print(len(nome)) # 7
print(nome[0]) # r
print(nome[-1]) # o
bool — Booleanos
ligado = True
desligado = False
print(type(ligado)) # <class 'bool'>
Em Python, True e False são escritos com inicial maiúscula. Booleanos são subclasse de int — True vale 1 e False vale 0:
>>> True + True
2
>>> False * 100
0
NoneType — Ausência de valor
None representa a ausência de valor. É usado quando uma variável existe mas ainda não tem conteúdo definido:
resultado = None
if resultado is None:
print("Ainda não foi calculado.")
Conversão entre Tipos
Python não converte tipos automaticamente (exceto em casos muito específicos). A conversão explícita é feita com funções:
# str para int
numero = int("42")
print(numero + 8) # 50
# int para str
texto = str(100)
print("Valor: " + texto) # Valor: 100
# str para float
preco = float("19.99")
print(preco * 2) # 39.98
# int para float
x = float(5)
print(x) # 5.0
Tentar converter um valor inválido gera um erro:
int("abc") # ValueError: invalid literal for int()
Verificando o Tipo de uma Variável
x = 3.14
print(type(x)) # <class 'float'>
print(isinstance(x, float)) # True
print(isinstance(x, int)) # False
Boas Práticas na Nomeação de Variáveis
Python adota o estilo snake_case para variáveis e funções — palavras em minúsculo separadas por underscore:
# Correto
nome_completo = "Ricardo Matos"
total_de_alunos = 120
preco_unitario = 9.99
# Evite
NomeCompleto = "Ricardo Matos" # reservado para classes
nomecompleto = "Ricardo Matos" # difícil de ler
n = "Ricardo Matos" # pouco descritivo
Nomes de variáveis não podem começar com número e não podem ser palavras reservadas da linguagem (if, for, class, return, etc.).
Resumo
- Variáveis em Python são rótulos que apontam para valores na memória
- A tipagem é dinâmica — o tipo é inferido automaticamente
- Os tipos fundamentais são
int,float,str,booleNoneType - Conversão entre tipos é feita explicitamente com
int(),float(),str(), etc. - Use
type()ouisinstance()para verificar o tipo de um valor - Siga o padrão snake_case para nomear variáveis
Referências e Leituras Complementares
- Tipos nativos do Python — https://docs.python.org/3/library/stdtypes.html
- PEP 8 — Guia de estilo do Python — https://peps.python.org/pep-0008/
- Módulo decimal — https://docs.python.org/3/library/decimal.html
- IEEE 754 (ponto flutuante) — https://floating-point-gui.de/
- MATTHES, Eric. Python Crash Course. 3. ed. No Starch Press, 2023. Cap. 2.
- LUTZ, Mark. Learning Python. 5. ed. O'Reilly Media, 2013. Cap. 4–5.
Prof. Ricardo Matos — Dominando o Python em 1 Ano · Artigo 02 de 52 Próximo: Artigo 03 — Operadores e Expressões
you asked
Sim