Je souhaite créer une requête pour sunburnt (interface solr) à l'aide de l'héritage de classe et, par conséquent, l'ajout de paires clé-valeur. L'interface sunburnt prend des arguments de mots clés. Comment puis-je transformer un dict ({'type':'Event'})
en arguments de mots clés (type='Event')
?
Utilisez l'opérateur double-star (aka double-splat? ):
func(**{'type':'Event'})
est équivalent à
func(type='Event')
**
opérateur serait utile ici.
**
l’opérateur décompactera les éléments dict et ainsi **{'type':'Event'}
sera traité comme type='Event'
func(**{'type':'Event'})
est identique à func(type='Event')
c'est-à-dire que les éléments dict seraient convertis en keyword arguments
.
FYI
*
décompactera les éléments de la liste et ils seront traités comme positional arguments
.
func(*['one', 'two'])
est identique à func('one', 'two')
Voici un exemple complet montrant comment utiliser l'opérateur **
pour transmettre les valeurs d'un dictionnaire en tant qu'arguments de mots clés.
>>> def f(x=2):
... print(str(x))
...
>>> new_x = {'x': 4}
>>> f() # default value x=2
2
>>> f(x=3) # explicit value x=3
3
>>> f(**new_x) # dictionary value x=4
4