Fundamentos do Python para Iniciantes

0/31 aulas0%
teoria

Operadores Aritméticos e de Atribuição

Aprenda sobre operadores aritméticos e de atribuição

30 min
Aula 3 de 5

Operadores Aritméticos e de Atribuição

Olá, futuros programadores! 👋 Sejam bem-vindos a mais uma aula do nosso curso de Fundamentos do Python. Hoje, vamos mergulhar em um tópico essencial que nos permite realizar cálculos e manipular valores: os Operadores Aritméticos e de Atribuição.

Compreender como os operadores funcionam é fundamental para escrever qualquer programa, desde a soma de dois números até algoritmos complexos. Preparem-se para adicionar, subtrair, multiplicar e muito mais! 🚀


1. Operadores Aritméticos: A Matemática no Python ➕➖✖️➗

Os operadores aritméticos são símbolos que usamos para realizar operações matemáticas básicas. O Python segue a ordem padrão das operações (PEMDAS/BODMAS), então parênteses () são seus amigos para controlar a precedência.

Vamos conhecer os principais:

Adição (+)

Soma dois operandos.

# Exemplo de adição
a = 10
b = 5
resultado = a + b
print(f"A soma de {a} + {b} é: {resultado}") # Saída: A soma de 10 + 5 é: 15

Subtração (-)

Subtrai o segundo operando do primeiro.

# Exemplo de subtração
x = 20
y = 7
resultado = x - y
print(f"A subtração de {x} - {y} é: {resultado}") # Saída: A subtração de 20 - 7 é: 13

Multiplicação (*)

Multiplica dois operandos.

# Exemplo de multiplicação
base = 4
altura = 6
area = base * altura
print(f"A área de um retângulo com base {base} e altura {altura} é: {area}") # Saída: A área de um retângulo com base 4 e altura 6 é: 24

Divisão (/)

Divide o primeiro operando pelo segundo. Importante: O resultado é sempre um número de ponto flutuante (float), mesmo que a divisão seja exata.

# Exemplo de divisão
total_alunos = 30
grupos = 4
alunos_por_grupo = total_alunos / grupos
print(f"Se {total_alunos} alunos forem divididos em {grupos} grupos, cada grupo terá: {alunos_por_grupo} alunos") # Saída: Se 30 alunos forem divididos em 4 grupos, cada grupo terá: 7.5 alunos

Divisão Inteira (//)

Divide o primeiro operando pelo segundo e retorna a parte inteira do quociente (arredonda para baixo).

# Exemplo de divisão inteira
moedas = 17
pessoas = 3
moedas_por_pessoa = moedas // pessoas
print(f"Se {moedas} moedas forem distribuídas entre {pessoas} pessoas, cada uma recebe: {moedas_por_pessoa} moedas") # Saída: Se 17 moedas forem distribuídas entre 3 pessoas, cada uma recebe: 5 moedas

Módulo (%)

Retorna o resto da divisão. É muito útil para verificar se um número é par/ímpar ou se um número é múltiplo de outro.

# Exemplo de módulo
numero = 10
divisor = 3
resto = numero % divisor
print(f"O resto da divisão de {numero} por {divisor} é: {resto}") # Saída: O resto da divisão de 10 por 3 é: 1
 
# Verificando se um número é par
num_par = 12
num_impar = 7
print(f"{num_par} é par? {num_par % 2 == 0}")   # Saída: 12 é par? True
print(f"{num_impar} é par? {num_impar % 2 == 0}") # Saída: 7 é par? False

Exponenciação (**)

Eleva o primeiro operando à potência do segundo.

# Exemplo de exponenciação
base = 2
expoente = 3
resultado = base ** expoente
print(f"{base} elevado a {expoente} é: {resultado}") # Saída: 2 elevado a 3 é: 8 (2 * 2 * 2)

2. Operadores de Atribuição: Guardando Valores com Estilo ➡️

Operadores de atribuição são usados para atribuir valores a variáveis. O operador de atribuição mais básico é o = (igual). No entanto, o Python oferece operadores de atribuição compostos que combinam uma operação aritmética com a atribuição, tornando seu código mais conciso e elegante. ✨

Atribuição Simples (=)

Atribui o valor do lado direito à variável do lado esquerdo.

# Exemplo de atribuição simples
idade = 30
nome = "Alice"
print(f"Idade: {idade}, Nome: {nome}") # Saída: Idade: 30, Nome: Alice

Atribuição com Adição (+=)

Equivalente a x = x + y.

# Exemplo de atribuição com adição
contador = 5
print(f"Contador inicial: {contador}") # Saída: Contador inicial: 5
 
contador += 3 # É o mesmo que contador = contador + 3
print(f"Contador após += 3: {contador}") # Saída: Contador após += 3: 8

Atribuição com Subtração (-=)

Equivalente a x = x - y.

# Exemplo de atribuição com subtração
saldo = 100
print(f"Saldo inicial: {saldo}") # Saída: Saldo inicial: 100
 
saldo -= 25 # É o mesmo que saldo = saldo - 25
print(f"Saldo após -= 25: {saldo}") # Saída: Saldo após -= 25: 75

Atribuição com Multiplicação (*=)

Equivalente a x = x * y.

# Exemplo de atribuição com multiplicação
multiplicador = 2
valor = 10
print(f"Valor inicial: {valor}") # Saída: Valor inicial: 10
 
valor *= multiplicador # É o mesmo que valor = valor * multiplicador
print(f"Valor após *= multiplicador: {valor}") # Saída: Valor após *= multiplicador: 20

Atribuição com Divisão (/=)

Equivalente a x = x / y. O resultado será um float.

# Exemplo de atribuição com divisão
pontos = 50
print(f"Pontos iniciais: {pontos}") # Saída: Pontos iniciais: 50
 
pontos /= 2 # É o mesmo que pontos = pontos / 2
print(f"Pontos após /= 2: {pontos}") # Saída: Pontos após /= 2: 25.0

Atribuição com Divisão Inteira (//=)

Equivalente a x = x // y.

# Exemplo de atribuição com divisão inteira
total_itens = 23
print(f"Total de itens inicial: {total_itens}") # Saída: Total de itens inicial: 23
 
total_itens //= 5 # É o mesmo que total_itens = total_itens // 5
print(f"Total de itens após //= 5: {total_itens}") # Saída: Total de itens após //= 5: 4

Atribuição com Módulo (%=)

Equivalente a x = x % y.

# Exemplo de atribuição com módulo
numero_grande = 100
print(f"Número grande inicial: {numero_grande}") # Saída: Número grande inicial: 100
 
numero_grande %= 7 # É o mesmo que numero_grande = numero_grande % 7
print(f"Número grande após %= 7: {numero_grande}") # Saída: Número grande após %= 7: 2

Atribuição com Exponenciação (**=)

Equivalente a x = x ** y.

# Exemplo de atribuição com exponenciação
poder = 2
print(f"Poder inicial: {poder}") # Saída: Poder inicial: 2
 
poder **= 4 # É o mesmo que poder = poder ** 4
print(f"Poder após **= 4: {poder}") # Saída: Poder após **= 4: 16 (2 * 2 * 2 * 2)

3. Precedência de Operadores: Quem vem primeiro? 🧐

Assim como na matemática, os operadores no Python têm uma ordem de precedência. Operações com maior precedência são executadas primeiro. Se a precedência for a mesma, a avaliação geralmente ocorre da esquerda para a direita (com exceções como a exponenciação, que é da direita para a esquerda).

A ordem geral (do mais alto para o mais baixo):

  1. Parênteses (): Sempre executados primeiro.
  2. Exponenciação **
  3. Multiplicação *, Divisão /, Divisão Inteira //, Módulo %
  4. Adição +, Subtração -
  5. Operadores de Atribuição = e compostos (+=, -=, etc.): Executados por último, pois atribuem o resultado da expressão à variável.

Exemplo:

# Exemplo de precedência
resultado_complexo = 10 + 5 * 2 ** 3 / 4 - 1
# 1. Exponenciação: 2 ** 3 = 8
# resultado_complexo = 10 + 5 * 8 / 4 - 1
# 2. Multiplicação: 5 * 8 = 40
# resultado_complexo = 10 + 40 / 4 - 1
# 3. Divisão: 40 / 4 = 10.0
# resultado_complexo = 10 + 10.0 - 1
# 4. Adição: 10 + 10.0 = 20.0
# resultado_complexo = 20.0 - 1
# 5. Subtração: 20.0 - 1 = 19.0
 
print(f"Resultado complexo: {resultado_complexo}") # Saída: Resultado complexo: 19.0
 
# Usando parênteses para alterar a precedência
resultado_com_parenteses = (10 + 5) * 2 ** (3 / 4 - 1)
# 1. 3 / 4 = 0.75
# resultado_com_parenteses = (10 + 5) * 2 ** (0.75 - 1)
# 2. 0.75 - 1 = -0.25
# resultado_com_parenteses = (10 + 5) * 2 ** (-0.25)
# 3. 10 + 5 = 15
# resultado_com_parenteses = 15 * 2 ** (-0.25)
# 4. 2 ** (-0.25) = 0.8408964152537145 (aproximadamente)
# resultado_com_parenteses = 15 * 0.8408964152537145
# 5. Multiplicação: 15 * 0.8408964152537145 = 12.613446228805718
 
print(f"Resultado com parênteses: {resultado_com_parenteses}") # Saída: Resultado com parênteses: 12.613446228805718

Sempre use parênteses para deixar suas expressões mais claras e evitar ambiguidades, mesmo que a precedência padrão já te dê o resultado desejado. A clareza do código é crucial! 💡


4. Exercícios de Fixação 🧠

Vamos testar seus conhecimentos! Tente prever a saída dos seguintes códigos ou complete-os.

Exercício 1: Preveja o Resultado

Qual será o valor final da variável valor_final?

a = 10
b = 3
c = 2
 
valor_final = a + b * c - a // b
print(valor_final)

Exercício 2: Atribuição Composta

Complete o código para que saldo seja multiplicado por 1.1 e depois subtraído por 50.

saldo = 500
 
# Multiplique o saldo por 1.1 usando um operador de atribuição composto
# saldo *= 1.1
 
# Subtraia 50 do saldo usando um operador de atribuição composto
# saldo -= 50
 
print(saldo)

Exercício 3: O Resto da Divisão

Se você tem 25 doces e quer distribuí-los igualmente entre 4 amigos, quantos doces sobram? Use o operador correto para encontrar a resposta.

doces = 25
amigos = 4
 
# Calcule o número de doces que sobram
# doces_restantes = doces % amigos
 
# print(f"Sobrarão {doces_restantes} doces.")

5. Resumo e Próximos Passos: Recapitulando! 📝

Nesta aula, exploramos os operadores aritméticos (+, -, *, /, //, %, **) que nos permitem realizar cálculos matemáticos e os operadores de atribuição (=, +=, -=, *=, /=, //=, %=, **=) que facilitam a modificação de valores em variáveis. Também vimos a importância da precedência de operadores e como os parênteses () podem nos ajudar a controlar a ordem das operações.

Dominar esses operadores é um passo crucial para escrever programas Python eficazes e legíveis. Eles são a base para qualquer lógica numérica em seus códigos!

Próximos Passos: Na próxima aula, vamos avançar para os Operadores de Comparação e Lógicos, que são igualmente importantes para tomar decisões em seus programas. Preparem-se para aprender a fazer seu código "pensar"! 😉

Até lá, pratiquem com os exercícios e experimentem diferentes combinações de operadores! Happy coding! 💻

© 2025 Escola All Dev. Todos os direitos reservados.

Operadores Aritméticos e de Atribuição - Fundamentos do Python para Iniciantes | escola.all.dev.br