2012-04-18 18 views

Respuesta

16

Se refiere a todos los argumentos de palabra clave pasados ​​a la función que no están en la definición del método. Por ejemplo:

>>> def foo(arg, **kwargs): 
...  print kwargs 
... 
>>> foo('a', b="2", c="3", bar="bar") 
{'c': '3', 'b': '2', 'bar': 'bar'} 

Es similar a simplemente usando un asterisco, que se refiere a todos los argumentos que no sean de palabras clave:

>>> def bar(arg, *args): 
...  print args 
... 
>>> bar(1, 2, 3, 'a', 'b') 
(2, 3, 'a', 'b') 

se pueden combinar estas (y la gente suele hacer)

>>> def foobar(*args, **kwargs): 
...  print args 
...  print kwargs 
... 
>>> foobar(1, 2, a='3', spam='eggs') 
(1, 2) 
{'a': '3', 'spam': 'eggs'} 
+0

¡Eso lo explica todo! Gracias – ACZINT

Cuestiones relacionadas