Algunos detalles adicionales que pueden ser útiles para saber (preguntas que tenía después de leer esto y fue y probado):
- La función puede tener parámetros que se no incluidos en el diccionario
- Puede no anular un parámetro que ya está en el diccionario
- El diccionario puede no tener parámetros que no están en la función.
Ejemplos de cada uno:
In[3]: def test(a=4, b=2):
...: print a, b
...:
Número 1: La función puede tener parámetros que no están incluidos en el diccionario
In[6]: mydict = {'a': 100}
In[7]: test(**mydict)
100 2
Número 2: No se puede anula un parámetro que ya está en el diccionario
In[8]: mydict = {'a': 100, 'b': 200}
In[9]: test(a=3, **mydict)
TypeError: test() got multiple values for keyword argument 'a'
Número 3: El diccionario no puede tener parámetros que no están en la función.
In[10]: mydict = {'a': 100, 'b': 200, 'c': 300}
In[11]: test(**mydict)
TypeError: test() got an unexpected keyword argument 'c'
si desea que esto ayude a otros, debe reformular su pregunta: el problema no era pasar un diccionario, lo que quería era convertir un dict en parámetros de palabra clave – Javier
Vale la pena señalar que también puede descomprimir listas en argumentos posicionales: f2 (* [1,2]) –
"desreferencia": el término habitual, en este contexto de Python, es "desempaquetar". :) – mipadi