O que // significa em Python

Vaibhhav Khetarpal 11 julho 2021
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 Khetarpal avatar Vaibhhav Khetarpal avatar

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

Artigo relacionado - Python Operator