Articles of Kwargs

Usando argparse con la función que toma ** el argumento de Kwargs

Estoy usando argparse para tomar información y pasarla a una función que toma como argumentos dos variables y **kwargs . Aquí está mi función: import requests import sys import argparse def location_by_coordinate(LAT, LNG, **kwargs): if not kwargs: coordinate_url = “https://api.instagram.com/v1/locations/search?lat=%s&lng=%s&access_token=%s” % (LAT, LNG, current_token) r = requests.get(coordinate_url).text else: coordinate_url = “https://api.instagram.com/v1/locations/search?lat=%s&lng=%s&access_token=%s” % (LAT, LNG, current_token) […]

Pasando funciones y sus argumentos a otra función.

Tengo tipos de árbol de sub-funciones: uno sin ningún parámetro (argumentos), segundo con un parámetro tercero con multiples parametros (tupla) Estoy tratando de pasar esas funciones y sus argumentos a otra función que sum los resultados de todas las subfunciones y devuelve el valor de la sum. Los parámetros en esa función deben ser: nombres […]

Apio Cadena de tareas y acceso ** kwargs

Tengo una situación similar a la que se describe aquí , excepto que en lugar de encadenar tareas con múltiples argumentos, quiero encadenar tareas que devuelvan un diccionario con múltiples entradas. Esto es, muy libremente y de manera abstracta, lo que estoy tratando de hacer: tareas.py @task() def task1(item1=None, item2=None): item3 = #do some stuff […]

Usando un OrderedDict en ** kwargs

¿Es posible pasar una instancia de OrderedDict a una función que usa la syntax de **kwargs y conservar el orden? Lo que me gustaría hacer es: def I_crave_order(**kwargs): for k, v in kwargs.items(): print k, v example = OrderedDict([(‘first’, 1), (‘second’, 2), (‘third’, -1)]) I_crave_order(**example) >> first 1 >> second 2 >> third -1 Sin […]

Python: pasar parámetros por nombre junto con kwargs

En python podemos hacer esto: def myFun1(one = ‘1’, two = ‘2’): … Luego podemos llamar a la función y pasar los argumentos por su nombre: myFun1(two = ‘two’, one = ‘one’) Además, podemos hacer esto: def myFun2(**kwargs): print kwargs.get(‘one’, ‘nothing here’) myFun2(one=’one’) Así que me preguntaba si es posible combinar ambos métodos como: def […]

¿Por qué usar * args / ** kwargs empaquetados en lugar de pasar list / dict?

Si no sé cuántos argumentos se pasarán a una función, podría escribir la función usando el empaquetado de argumentos: def add(factor, *nums): “””Add numbers and multiply by factor.””” return sum(nums) * factor Alternativamente, podría evitar el empaquetado de argumentos al pasar una lista de números como argumento: def add(factor, nums): “””Add numbers and multiply by […]

¿Cómo comprobar si existe una clave en ** kwargs?

Python 3.2.3. Aquí se enumeran algunas ideas, que funcionan con las variantes normales, pero parece que los kwargs juegan con reglas diferentes … ¿por qué no funciona esto y cómo puedo verificar si existe una clave en ** kwargs? if kwargs[‘errormessage’]: print(“It exists”) También creo que esto debería funcionar, pero no funciona. if errormessage in […]

pasando kwargs con multiprocessing.pool.map

Me gustaría pasar argumentos de palabras clave a mi función de trabajo con Pool.map (). No puedo encontrar un ejemplo claro de esto al buscar en los foros. Código de ejemplo: import multiprocessing as mp def worker((x,y), **kwargs): kwarg_test = kwargs.get(‘kwarg_test’, False) print(“kwarg_test = {}”.format(kwarg_test)) if kwarg_test: print(“Success”) return x*y def wrapper_process(**kwargs): jobs = [] […]

Pasando más kwargs a una función que la establecida inicialmente

¿Hay una manera de enviar más kwargs a una función de la que se solicita en la llamada de función? Ejemplo: def mydef(a, b): print a print b mydict = {‘a’ : ‘foo’, ‘b’ : ‘bar’} mydef(**mydict) # This works and prints ‘foo’ and ‘bar’ mybigdict = {‘a’ : ‘foo’, ‘b’ : ‘bar’, ‘c’ : […]

¿Por qué usar ** kwargs en python? ¿Cuáles son algunas ventajas del mundo real sobre el uso de argumentos con nombre?

Vengo de un fondo en lenguajes estáticos. ¿Puede alguien explicar (idealmente a través de un ejemplo) las ventajas del mundo real de usar ** kwargs sobre argumentos con nombre ? Para mí, solo parece hacer que la función llame más ambigua. Gracias.