Em Python, você não precisa declarar o tipo de uma variável; o Python infere o tipo automaticamente com base no valor atribuído.
Números:
Inteiros (int
): Números inteiros (positivos, negativos e zero).
idade = 30
quantidade = -10
Ponto Flutuante (float
): Números com casas decimais.
altura = 1.75
preco = 99.99
Strings (str
): Sequências de caracteres, delimitadas por aspas simples ou duplas. São imutáveis (não podem ser alteradas depois de criadas). Quando dizemos que strings são imutáveis em Python, significa que, uma vez criada, você não pode alterar o conteúdo de uma string no lugar. Se você "modificar" uma string, o Python na verdade cria uma nova string com o conteúdo modificado, e a variável passa a referenciar essa nova string. A string original permanece inalterada na memória (até ser coletada pelo garbage collector).
Exemplo Prático:
original = "Olá"
print(f"ID da string original: {id(original)}") # Exibe o endereço de memória
modificada = original + " Mundo" # Cria uma NOVA string "Olá Mundo"
print(f"ID da string modificada: {id(modificada)}") # Exibe um NOVO endereço de memória
print(original) # Saída: Olá (a original não foi alterada)
print(modificada) # Saída: Olá Mundo
nome = "Alice"
mensagem = 'Olá, mundo!'
frase_longa = """Esta é uma frase
que ocupa múltiplas linhas."""
Operações Comuns com Strings:
Concatenação: Usando +
saudacao = "Olá, " + nome
print(saudacao) # Saída: Olá, Alice
Formatação (f-strings - Python 3.6+): Método recomendado para incluir variáveis em strings.
item = "notebook"
valor = 2500.00
print(f"O {item} custa R${valor:.2f}.") # Saída: O notebook custa R$2500.00.
Métodos úteis: .upper()
, .lower()
, .strip()
, .replace()
, .split()
, .join()
.
texto = " Python é divertido! "
# strip(): Retorna uma nova string com espaços (ou outros caracteres especificados) removidos do início e do final da string
print(texto.strip()) # Saída: Python é divertido!
# .upper() e .lower() converte para maiúsculo e munúsculo, respectivamente
print(texto.upper()) # Saída: PYTHON É DIVERTIDO!
print(texto.lower()) # Saída: python é divertido!
# .replace(antigo, novo): Retorna uma nova string onde todas as ocorrências do antigo são substituídas pelo novo
print(texto.replace(Python, Java)) # Saída: Java é divertido!
# .split(separador): Divide a string em uma lista de substrings usando o separador especificado (espaço em branco por padrão)
print(texto.split()) # Saída: ['Python', 'é', 'divertido!']
#.join(iterável): Une os elementos de um iterável (como uma lista de strings) em uma única string
print(" ".join(["Aprendendo", "Python"])) # Saída: Aprendendo Python
Booleanos (bool
): Representam valores verdade (True
) ou falso (False
).
esta_ativo = True
tem_permissao = False
Listas (list
): Coleções ordenadas e mutáveis de itens. Os itens podem ser de diferentes tipos.
numeros = [1, 2, 3, 4, 5]
frutas = ["maçã", "banana", "laranja"]
mista = [1, "Python", True, 3.14]
Operações Comuns com Listas:
Acessar elementos: Pelo índice (começa em 0).
print(frutas[0]) # Saída: maçã
print(frutas[-1]) # Saída: laranja (último elemento)
Modificar elementos:
frutas[1] = "uva"
print(frutas) # Saída: ['maçã', 'uva', 'laranja']
Adicionar elementos: .append()
(ao final), .insert()
(em posição específica).
frutas.append("abacaxi")
frutas.insert(1, "pera")
print(frutas) # Saída: ['maçã', 'pera', 'uva', 'laranja', 'abacaxi']
Remover elementos: .remove()
(pelo valor), .pop()
(pelo índice ou último), del
(pelo índice/fatia).
frutas.remove("uva")
elemento_removido = frutas.pop() # remove o último
del frutas[0] # remove o primeiro
print(frutas)
Fatiamento (Slicing): lista[inicio:fim:passo]
inicio
: O índice onde a fatia começa (inclusivo). Se omitido, começa do início (índice 0).
fim
: O índice onde a fatia termina (exclusivo). Se omitido, vai até o final da sequência.
passo
: O incremento entre os elementos da fatia. Se omitido, o padrão é 1. Um passo negativo inverte a sequência.
sub_numeros = numeros[1:4] # Saída: [2, 3, 4]
Tuplas (tuple
): Coleções ordenadas e imutáveis de itens. São mais rápidas que listas para acesso e úteis para dados que não devem mudar.
coordenadas = (10.0, 20.0)
cores_rgb = ("vermelho", "verde", "azul")
Dicionários (dict
): Coleções não ordenadas (em Python 3.7+ são ordenados por inserção) de pares chave-valor. Chaves devem ser únicas e imutáveis (strings, números, tuplas).
pessoa = {
"nome": "Carlos",
"idade": 25,
"cidade": "São Paulo"
}
Acessar valores: Pela chave.
print(pessoa["nome"]) # Saída: Carlos
print(pessoa.get("profissao", "Não informado")) # Saída: Não informado (com fallback)
Adicionar/Modificar:
pessoa["profissao"] = "Engenheiro"
pessoa["idade"] = 26
print(pessoa)
# Saída: {'nome': 'Carlos', 'idade': 26, 'cidade': 'São Paulo', 'profissao': 'Engenheiro'}
Remover: del
, .pop()
del pessoa["cidade"]
idade_removida = pessoa.pop("idade")
print(pessoa)
# Saída: {'nome': 'Carlos', 'profissao': 'Engenheiro'}
Métodos úteis: .keys()
, .values()
, .items()
(retornam "vistas" dos elementos).
aluno = {"nome": "João", "idade": 20, "curso": "Engenharia"}
.keys()
: Retorna um objeto visualizável (uma "view") das chaves de um dicionário. Este objeto se comporta como uma lista de chaves.chaves = aluno.keys()
print(chaves)
# Saída: dict_keys(['nome', 'idade', 'curso'])
print(list(chaves))
# Saída: ['nome', 'idade', 'curso'](convertendo para lista)
.values()
: Retorna um objeto visualizável (uma "view") dos valores de um dicionário. Este objeto se comporta como uma lista de valores.valores = aluno.values()
print(valores)
# Saída: dict_values(['João', 20, 'Engenharia'])
print(list(valores))
# Saída: ['João', 20, 'Engenharia'] (convertendo para lista)
.items()
: Retorna um objeto visualizável (uma "view") dos pares chave-valor de um dicionário como tuplas (chave, valor). É ideal para iterar sobre chaves e valores simultaneamente.itens = aluno.items()
print(itens)
# Saída: dict_items([('nome', 'João'), ('idade', 20), ('curso', 'Engenharia')])
for chave, valor in aluno.items():
print(f"{chave}: {valor}")
# Saída:
# nome: João
# idade: 20
# curso: Engenharia
Conjuntos (set
): Coleções não ordenadas de itens únicos. Úteis para remover duplicatas e realizar operações de conjunto (união, interseção, diferença).
numeros_duplicados = [1, 2, 2, 3, 4, 4, 5]
conjunto_unicos = set(numeros_duplicados)
print(conjunto_unicos) # Saída: {1, 2, 3, 4, 5}
Aritméticos: +
(adição), -
(subtração), *
(multiplicação), /
(divisão), //
(divisão inteira), %
(módulo/resto), **
(potência).
x = 10
y = 3
print(x + y) # 13
print(x / y) # 3.333...
print(x // y) # 3
print(x % y) # 1
print(x ** y) # 1000
Comparação (retornam True
ou False
): ==
(igual a), !=
(diferente de), <
(menor que), >
(maior que), <=
(menor ou igual a), >=
(maior ou igual a).
print(5 == 5) # True
print(5 != 10) # True
print(7 > 3) # True
Lógicos: and
(E lógico), or
(OU lógico), not
(NÃO lógico).
idade = 20
tem_carteira = True
print(idade >= 18 and tem_carteira) # True
print(not tem_carteira) # False