O Que Significa `//` em Python? (Com Exemplos)

Em Python, //
é o operador de divisão inteira (floor division). Ele divide dois números e arredonda o resultado para baixo até o número inteiro mais próximo.
Por exemplo:
print(10 // 3) # Saída: 3
print(-10 // 3) # Saída: -4
Principais Pontos
//
realiza divisão inteira, ou seja, arredonda para baixo o resultado.- Funciona com números inteiros e números de ponto flutuante.
- Sempre arredonda em direção ao infinito negativo (
-∞
).
Entendendo a Divisão Inteira (//
)
O operador //
divide dois números, mas em vez de retornar um resultado em ponto flutuante, ele trunca (arredonda para baixo) para o inteiro mais próximo.
Exemplo:
print(7 // 2) # Saída: 3 (em vez de 3.5)
print(-7 // 2) # Saída: -4 (arredonda em direção a -∞)
Como o //
Lida com Números Decimais?
Mesmo se um dos operandos for um número decimal, o resultado permanece arredondado para baixo, mas em formato decimal:
print(7.0 // 2) # Saída: 3.0
print(-7.5 // 2) # Saída: -4.0
Diferença Entre /
e //
Operador Descrição Exemplo /
Divisão normal (retorna decimal) 5 / 2 = 2.5
//
Divisão inteira (arredonda para baixo) 5 // 2 = 2
Quando Usar //
?
- Quando você precisa apenas de números inteiros (ex.: contagem de itens).
- Evitando erros de precisão com decimais (ex.: indexação de arrays).
- Garantindo resultados inteiros em loops.
Exemplo: Usando //
para paginação:
items_por_pagina = 10
total_items = 95
paginas = total_items // items_por_pagina
print(paginas) # Saída: 9
Perguntas Frequentes
Não, se um dos operandos for decimal, o resultado será decimal.
Porque `//` arredonda em direção ao infinito negativo (`-∞`).
Sim, `a // b` é equivalente a `math.floor(a / b)`.
Conclusão
O operador //
em Python realiza divisão inteira, arredondando o resultado para baixo até o número inteiro mais próximo. É útil quando se trabalha com matemática de inteiros, loops e paginação.