Vídeo em breve
Por enquanto, esta aula está disponível só em texto — o vídeo entra assim que ficar pronto.
Primeiros passos
Operadores e operações
Operadores aritméticos, de comparação e com texto, atribuição composta e a ordem em que o Python calcula expressões. · 16 min
Agora que você já sabe guardar valores em variáveis, é hora de fazer contas com eles. Esta aula cobre os operadores que você vai usar o tempo todo: aritméticos, de atribuição e operações com texto.
Operadores aritméticos
soma = 7 + 3 # 10
subtracao = 7 - 3 # 4
multiplicacao = 7 * 3 # 21
divisao = 7 / 3 # 2.3333... (sempre devolve float)
divisao_inteira = 7 // 3 # 2 (descarta o resto)
resto = 7 % 3 # 1 (o resto da divisão)
potencia = 7 ** 2 # 49
Dica
% (módulo/resto) é mais útil do que parece: numero % 2 == 0 é o jeito
clássico de checar se um número é par.
Ordem das operações
Python segue a mesma ordem que você aprendeu na escola: potência antes de multiplicação/divisão, e essas antes de soma/subtração. Parênteses sempre vêm primeiro.
resultado = 2 + 3 * 4 # 14, não 20 (multiplicação primeiro)
resultado = (2 + 3) * 4 # 20, com parênteses forçando a ordem
Atenção
Na dúvida, use parênteses — mesmo quando não são estritamente
necessários. (2 + 3) * 4 é mais fácil de ler do que confiar que todo
mundo lembra a ordem de precedência de cabeça.
Operadores de comparação
Além dos aritméticos, existem os operadores que comparam dois valores
e sempre devolvem um bool (True ou False) — eles vão ser essenciais
na próxima aula, sobre condicionais:
print(7 == 7) # True (igual a)
print(7 == 8) # False
print(7 != 8) # True (diferente de)
print(7 > 3) # True (maior que)
print(7 < 3) # False (menor que)
print(7 >= 7) # True (maior ou igual)
print(7 <= 3) # False (menor ou igual)
Atenção
Não confunda = com ==. = atribui um valor (você viu isso na
aula passada); == compara dois valores e devolve True/False.
x = 5 guarda 5 em x; x == 5 pergunta se x vale 5, sem mudar nada.
Escrever = onde deveria ser == é um dos erros mais comuns entre
iniciantes — em Python, ao menos, if x = 5 nem roda: dá erro de sintaxe
na hora, em vez de silenciosamente fazer a coisa errada.
Comparações também funcionam com texto (ordem alfabética) e podem ser encadeadas, um recurso que nem toda linguagem tem:
print("banana" < "laranja") # True (ordem alfabética)
idade = 20
print(0 <= idade <= 17) # False — equivale a "0 <= idade and idade <= 17"
print(18 <= idade <= 65) # True
Atribuição composta
É comum atualizar uma variável com base no próprio valor dela. Python tem um atalho para isso:
pontos = 10
pontos = pontos + 5 # jeito explícito
pontos += 5 # mesma coisa, forma curta
# também existem: -=, *=, /=, //=, **=
Operações com str
Texto também tem operadores, só que com significados diferentes:
nome = "Ada" + " " + "Lovelace" # concatenação: "Ada Lovelace"
risada = "ha" * 3 # repetição: "hahaha"
Atenção
"3" + "3" resulta em "33" (concatenação de texto), não 6. Misturar
str e int no + ("idade: " + 28) dá TypeError — é preciso
converter um dos dois primeiro, com str(28).
Exercícios
Exercício
1. Aquecimento. Calcule a área de um retângulo com base = 8 e
altura = 3.5, e imprima o resultado.
Exercício
2. Par ou ímpar. Peça um número inteiro e use o operador % para
imprimir se ele é par ou ímpar (sem usar if ainda — só calcule e
imprima o resto; if é assunto da próxima aula do curso).
Exercício
3. Desafio. Você tem total_segundos = 7385. Usando só // e %,
calcule quantas horas, minutos e segundos isso representa, e imprima no
formato "2h 3min 5s". Dica: primeiro descubra quantas horas cabem em
total_segundos // 3600, depois trabalhe com o resto.