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