O que // significa em Python
Operadores existem em todas as linguagens de programação e têm uma função fundamental para realizar várias operações em valores e variáveis.
Embora existam muitos tipos de operadores em Python, vamos nos concentrar em apenas um tipo de operador neste artigo: o operador aritmético.
Operadores aritméticos podem ser utilizados para realizar operações matemáticas simples, como adição, multiplicação, subtração, etc.
Este tutorial discutirá um desses operadores aritméticos, o operador de divisão de piso.
Use o operador //
em Python para a divisão de piso
O operador //
, também conhecido como operador de divisão de piso, vem na categoria de operadores aritméticos e nada mais é do que um operador de divisão que fornece um inteiro como saída e descarta o resto.
O processo de divisão de inteiros em Python não é particularmente o mesmo que em outras linguagens de programação populares, considerando que ele gira para o infinito negativo em vez de arredondar para zero.
O operador //
foi apresentado aos programadores em Python 3 para fornecer um operador de divisão inteira de comportamento constante. No Python 3 e acima, o /
ou operador de divisão única realiza a divisão de ponto flutuante, mesmo se os argumentos usados forem inteiros.
Nas versões do Python anteriores ao lançamento do operador //
, quando dois inteiros eram divididos, a divisão do piso era realizada por padrão usando o operador /
.
O código a seguir mostra o uso do operador de divisão de piso.
x = 15
y = 4
ans = x // y
print(ans)
Resultado:
3
O operador de divisão única tende a se comportar de maneira anormal e gerar respostas imprecisas ao lidar com números grandes. A introdução da divisão de piso ou do operador //
mascara esta desvantagem da divisão única ou operador /
.
O código a seguir descreve a diferença entre os dois operadores ao lidar com um grande número.
x = 50000000000
a1 = int(x * (x + 3) / 2)
a2 = x * (x + 3) // 2
print("Using single division operator: ", a1)
print("Using floor division operator: ", a2)
Resultado:
Using single division operator: 1250000000074999922688
Using floor division operator: 1250000000075000000000
Nesse caso, o operador de divisão de piso retorna o resultado correto, enquanto o operador de divisão única falha em fornecer valores precisos.
Além disso, o operador //
oferece desempenho até 3 vezes melhor do que o operador /
. Isso ajuda a aumentar significativamente a execução do código.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn