¿Qué significa el operador Double Star en Python?

Double Star o (**) es uno de los operadores aritméticos (como +, -, *, **, /, //, %) en lenguaje Python. También se le conoce como Operador de Potencia.

¿Qué es la precedencia de los operadores aritméticos?

Los operadores aritméticos siguen las mismas reglas de precedencia que en matemáticas, y son: el exponencial se realiza primero, la multiplicación y la división se realizan a continuación, seguidas de la suma y la resta.

Orden de prioridad de los operadores aritméticos en modo decreciente:

()   >>   **   >>   *  >>  /  >>  //  >>  %   >>   +   >>   -

Usos del operador Double Star:

Como operador de exponenciación

Para tipos de datos numéricos, el doble asterisco (**) se define como un operador de exponenciación:

Ejemplo:

Python3

# Python code to Demonstrate the Exponential Operactor
  
a = 2
b = 5
  
# using double asterisk operator
c = a**b
print(c)
  
  
# using double asterisk operator
z = 2 * (4 ** 2) + 3 * (4 ** 2 - 10)
print(z)

Producción:

32
50

 

Como argumentos en funciones y métodos.

En una definición de función, el asterisco doble también se conoce como   **kwargs . Solían pasar una palabra clave, un diccionario de argumentos de longitud variable a una función. Los dos asteriscos (**) son el elemento importante aquí, ya que la palabra kwargs se usa convencionalmente, aunque el idioma no la impone.

Primero, simplemente imprimamos los argumentos de **kwargs que pasamos a una función. Crearemos una función corta para hacer esto:

Ejemplo:

Python3

# Python Program to create a function to get a dictionary of names.
# Here, we will start with a dictionary of three names
  
  
def function(**kwargs):
    for key, value in kwargs.items():
        print("The value of {} is {}".format(key, value))
  
  
function(name_1="Shrey", name_2="Rohan", name_3="Ayush")

Producción:

The value of name_1 is Shrey
The value of name_2 is Rohan
The value of name_3 is Ayush

Ahora, aquí hay otro ejemplo en el que pasaremos argumentos adicionales a la función para mostrar que **kwargs aceptará cualquier número de argumentos:

Python3

# Python Program to create a function to get a dictionary of as many names
# you want to include in your Dictionary
  
  
def function(**kwargs):
    for key, value in kwargs.items():
        print("The value of {} is {}".format(key, value))
  
  
function(
    name_1="Ayush",
    name_2="Aman",
    name_3="Harman",
    name_4="Babber",
    name_5="Striver",
)

Producción:

The value of name_1 is Ayush
The value of name_2 is Aman
The value of name_3 is Harman
The value of name_4 is Babber
The value of name_5 is Striver

Conclusión:

El uso de **kwargs nos brinda la flexibilidad de usar argumentos de palabras clave en nuestro programa. Cuando usamos **kwargs como parámetro, no necesitamos saber cuántos argumentos finalmente nos gustaría pasar a una función. La creación de funciones que aceptan **kwargs se usa mejor en situaciones en las que espera que la cantidad de entradas dentro de la lista de argumentos permanezca relativamente pequeña.

Publicación traducida automáticamente

Artículo escrito por shreymaurya2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *