Mejores prácticas para el análisis de Kwargs en Python

Zeeshan Afridi 21 junio 2023
  1. kwargs en Python
  2. Usar kwargs en Python
  3. Métodos para el análisis de kwargs en Python
  4. Conclusión
Mejores prácticas para el análisis de Kwargs en Python

Mediante el análisis de kwargs, un desarrollador puede extraer fácilmente la información necesaria de un grupo de palabras clave y argumentos. Esto se usa a menudo cuando un desarrollador desea especificar un conjunto de opciones o configuraciones.

Estos son los tres métodos de análisis de kwargs:

  1. Mediante el uso de la función integrada vars().
  2. Mediante el uso del operador **.
  3. Utilizando el método get().

kwargs en Python

Python kwargs es un argumento de palabra clave que nos permite pasar un número variable de argumentos de palabras clave a una función. Las ideas de palabras clave se pasan como un diccionario a la función.

Las siguientes son algunas de las mejores prácticas para recordar al usar argumentos de palabras clave (kwargs) en Python.

  1. Primero, los kwargs deben usarse con moderación y solo cuando sea necesario.
  2. En segundo lugar, kwargs debe usarse junto con argumentos posicionales (args) siempre que sea posible.
  3. En tercer lugar, los kwargs deben ser explícitos y estar bien documentados.

Cuando se usa correctamente, kwargs puede mejorar la legibilidad y el mantenimiento de su código Python; sin embargo, cuando se usan en exceso o sin la documentación adecuada, los kwargs pueden hacer que su código sea difícil de entender. En caso de duda, sea precavido y use args en lugar de kwargs.

Usar kwargs en Python

Los kwargs de Python son una poderosa herramienta para crear funciones y métodos flexibles, lo que le permite pasar un número arbitrario de argumentos de palabras clave a una función o método. Los kwargs se utilizan a menudo para establecer valores predeterminados para los argumentos de las funciones.

Para usar kwargs en sus funciones y métodos, agregue la palabra clave **kwargs a la lista de parámetros. Luego, puede acceder a los argumentos de palabras clave utilizando la sintaxis del diccionario.

Por ejemplo, si tiene una función que toma dos argumentos de palabras clave, puede acceder a ellos de esta manera:

def my_func(**kwargs):
    arg1 = kwargs["arg1"]
    arg2 = kwargs["arg2"]

También puede usar kwargs para establecer valores predeterminados para los argumentos de la función. Por ejemplo, si tiene una función que acepta un argumento de palabra clave opcional, puede establecer un valor predeterminado como este:

def my_func(**kwargs):
    arg1 = kwargs.get("arg1", "default_value")

Esta función establecerá arg1 en valor_predeterminado si el argumento de la palabra clave arg1 no se pasa a la función.

kwargs son una poderosa herramienta para crear funciones y métodos flexibles. Pueden hacer que su código sea más legible y fácil de mantener.

Métodos para el análisis de kwargs en Python

Hay muchas formas de analizar kwargs en Python, pero no todas son mejores prácticas. Al analizar kwargs, es esencial tener cuidado con el encasillamiento y el uso de argumentos de solo palabras clave para evitar confusiones.

Análisis de kwargs por el operador ** en Python

Otra forma de analizar kwargs es usar el operador **. Este operador descomprime un diccionario en argumentos de palabras clave.

Este método es más explícito que usar vars() y puede ayudar a evitar posibles errores de encasillamiento.

def intro(**data):

    for key, value in data.items():
        print("{} is {}".format(key, value))


intro(Firstname="Zeeshan", Lastname="Afridi", Age=24)
print("\n")
intro(
    Firstname="Zeeshan",
    Lastname="Afridi",
    Email="zeeshan.afridi@example.com",
    Country="Pakistan",
    Age=24,
    Phone=+923331234567,
)

Producción :

Firstname is Zeeshan
Lastname is Afridi
Age is 24


Firstname is Zeeshan
Lastname is Afridi
Email is zeeshan.afridi@example.com
Country is Pakistan
Age is 24
Phone is 923331234567

Análisis de kwargs usando el método get() en Python

La mejor manera de analizar kwargs es usar el método get() del diccionario. Este método le permite especificar un valor predeterminado para cada kwarg, lo que puede ayudar a evitar errores de encasillamiento.

Además, el método get() hace que su código sea más legible y fácil de entender.

Código de ejemplo:

from uuid import uuid4


def my_function(**kwargs):

    name = kwargs.get("name", None)
    age = kwargs.get("age", None)

    print(f"Name {name} \nAge  {age}")


my_function(name="Zeeshan", age=24)

Producción :

Name Zeeshan
Age  24

Análisis de kwargs utilizando la función vars() en Python

Una forma común de analizar kwargs es usar la función integrada vars(). Esta función devuelve un diccionario de todos los argumentos pasados a una función, incluidos kwargs.

Si bien este método es rápido y fácil, puede generar problemas si los kwargs no se especifican explícitamente como argumentos de solo palabras clave.

Código de ejemplo:

def test_var_kwargs(farg, **kwargs):
    print("formal arg:", farg)
    for key in kwargs:
        print("keyword arg: %s: %s" % (key, kwargs[key]))


test_var_kwargs(farg=1, myarg2=2, myarg3=3)

Producción :

formal arg: 1
keyword arg: myarg2: 2
keyword arg: myarg3: 3

Conclusión

Usando kwargs, podemos escribir funciones que toman un número arbitrario de argumentos de palabras clave. Esto puede ser útil cuando queremos proporcionar una interfaz flexible a una función.

Por ejemplo, podríamos querer escribir una función que registre un mensaje en un archivo. Es posible que deseemos poder especificar el nivel de registro y el mensaje que se registrará.

Usando kwargs, podemos escribir una función que tome estos argumentos como argumentos de palabras clave.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn