Qué significa // en Python

Vaibhhav Khetarpal 11 julio 2021
Qué significa // en Python

Los operadores existen en todos los lenguajes de programación y tienen una función fundamental para realizar diversas operaciones sobre valores y variables.

Aunque hay muchos tipos de operadores en Python, nos centraremos solo en un tipo de operador en este artículo: el operador aritmético.

Los operadores aritméticos se pueden utilizar para realizar operaciones matemáticas simples como sumas, multiplicaciones, restas, etc.

Este tutorial discutirá uno de esos operadores aritméticos, el operador de división de piso.

Utilice el operador // en Python para la división de piso

El operador //, también conocido como operador de división de piso, pertenece a la categoría de operadores aritméticos y no es más que un operador de división que proporciona un número entero como salida y descarta el resto.

El proceso de división de enteros en Python no es particularmente el mismo que en otros lenguajes de programación populares, considerando que se redondea hacia el infinito negativo en lugar de redondearse hacia cero.

El operador // se presentó a los programadores en Python 3 para proporcionar un operador de división de enteros de comportamiento constante. En Python 3 y superior, el operador / o de división única lleva a cabo una división de punto flotante, incluso si los argumentos que se toman son números enteros.

En las versiones de Python antes de que se lanzara el operador //, cuando se dividían dos enteros, la división de piso se realizaba por defecto utilizando el operador /.

El siguiente código muestra el uso del operador de división de piso.

x = 15
y = 4
ans = x // y
print(ans)

Producción :

3

El operador de división única tiende a comportarse de manera anormal y genera respuestas inexactas cuando se trata de números grandes. La introducción de la división de piso o del operador // enmascara este inconveniente del operador de división única o /.

El siguiente código describe la diferencia entre ambos operadores cuando se trata de un gran 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)

Producción :

Using single division operator:  1250000000074999922688
Using floor division operator:  1250000000075000000000

En este caso, el operador de división de piso devuelve el resultado correcto, mientras que el operador de división única no proporciona valores precisos.

Además, el operador // proporciona un rendimiento hasta 3 veces mejor que el operador /. Ayuda a impulsar significativamente la ejecución del 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

Artículo relacionado - Python Operator