Usos del operador ** en Python: ¿qué puedes hacer con él?

| Última modificación: 24 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Python es un lenguaje de programación muy versátil y fácil de aprender. No obstante, como todo lenguaje y como todo en la vida, no deja de tener truquillos interesantes que a veces pueden tornarse en desconcertantes, especialmente si eres nuevo en el mundo de la programación. Uno de esos trucos es el uso del operador ** en Python, este nos ofrece una variedad de funcionalidades que hoy, en Keepcoding, queremos explicarte.

operador ** en python

¿Qué es el operador ** en Python?

El oeprador ** en Python es principalmente utilizado para calcular potencias. De hecho, es ta es una de las operaciones más comunes que puedes hacer con este operador. En caso de que necesites elevar un número a cualquier potencia dentro del desarrollo de tu código, este operador es tu mejor aliado y tu mejor opción. Para ello debes conocer su sintaxis:

resultado = base ** exponente

Aquí base es el número que quieres elevar y exponente es la potencia a la que lo elevarás.

Veamos cómo funciona con un ejemplo concreto:

resultado = 2 ** 3
print(resultado) # Esto imprimirá: 8

En este caso el número 2 es elevado a la tercera potencia, lo que nos da como resultado 8.

¿Qué otros usos tiene el operador ** en Python?

Como ya dijimos, el operador ** en Python es muy usado para calcular potencias, pero tiene otros campos de aplicación además de este. Entre ellos están:

Cálculo de potencias con números negativos y decimales

No solo es posible elevar números enteros, también puedes usar el ** en Python para trabajar con exponentes negativos o decimales. Si estás realizando cálculos matemáticos más complejos, como raíces cuadradas o inversos, este puede ser de gran utilidad:

resultado = 5 ** -2
print(resultado) # Imprime: 0.04

En este caso estamos elevando 5 a la potencia de -2, lo que equivale a 1/25, o 0.04.

También puedes calcular potencias fraccionarias, como raíces cuadradas, utilizando exponentes decimales:

resultado = 9 ** 0.5
print(resultado) # Imprime: 3.0

Aquí estamos calculando la raíz cuadrada de 9 al elevarlo a la potencia de 0.5. El resultado es 3.

El operador **= para modificar variables

Otra forma de usar el operador ** en Python es a través de asignaciones compuestas, al usar **= para combinar la operación de potencia y asignación en un solo paso:

x = 4
x **= 2
print(x) # Imprime: 16

Para este caso estamos elevando el valor de x al cuadrado y asignando el resultado a la misma variable x. Es una forma elegante de hacer cálculos y actualizar variables sin necesidad de escribir líneas de código adicionales.

Uso del doble asterisco ** en funciones

El ** en Python también juega un papel importante cuando se trabaja con funciones que aceptan múltiples argumentos con nombre.

Cuando defines una función que puede recibir un número variable de parámetros con nombre, usas el doble asterisco **. Este operador empaqueta esos parámetros en un diccionario dentro de la función. Veamos un ejemplo:

def saludar(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

saludar(nombre="Juan", edad=25)

En nuestro ejemplo el uso de **kwargs dentro de la función nos permite manejar múltiples argumentos con nombre, que luego se almacenan en un diccionario.

¿Qué diferencia guarda con otros operadores?

El operador ** en Python se comporta de manera puntual y diferente de otros operadores como *. Este último se usa para multiplicar números o replicar secuencias, pero ** se encarga única y exclusivamente de las potencias:

Por ejemplo:

# Multiplicación
resultado = 3 * 2
print(resultado) # Imprime: 6

# Potencias
resultado = 3 ** 2
print(resultado) # Imprime: 9

La clave aquí está en recordar que * y ** cumplen con roles distintos en Python, y no deben ser confundidos.

En Keepcoding estamos comprometidos con tu formación, por eso hoy queremos brindarte la posibilidad de incursionar en el campo tecnológico por medio de nuestro bootcamp en big data, una opción perfecta para aquellos que quieren iniciar en este mundo pero no saben cómo ni por dónde empezar ¡Transforma tu vida con esta gran oportunidad!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado