Puis-je passer d'une liste de kwargs à une méthode pour des raisons de concision? C'est ce que j'essaie de faire:
def method(**kwargs):
#do something
keywords = (keyword1 = 'foo', keyword2 = 'bar')
method(keywords)
Puis-je passer d'une liste de kwargs à une méthode pour des raisons de concision? C'est ce que j'essaie de faire:
def method(**kwargs):
#do something
keywords = (keyword1 = 'foo', keyword2 = 'bar')
method(keywords)
Oui. Vous faites comme ceci:
def method(**kwargs):
print kwargs
keywords = {'keyword1': 'foo', 'keyword2': 'bar'}
method(keyword1='foo', keyword2='bar')
method(**keywords)
L'exécution de ce en Python confirme que ceux-ci produisent des résultats identiques:
{'keyword2': 'bar', 'keyword1': 'foo'}
{'keyword2': 'bar', 'keyword1': 'foo'}
Comme d'autres l'ont souligné, vous pouvez faire ce que vous voulez par le passage d'un dict. Il existe différentes façons de construire un dict. Celui qui préserve l' keyword=value
style que vous avez tenté d'utiliser le dict intégré:
keywords = dict(keyword1 = 'foo', keyword2 = 'bar')
Remarque la polyvalence de l' dict
; l'ensemble de ces produisent le même résultat:
>>> kw1 = dict(keyword1 = 'foo', keyword2 = 'bar')
>>> kw2 = dict({'keyword1':'foo', 'keyword2':'bar'})
>>> kw3 = dict([['keyword1', 'foo'], ['keyword2', 'bar']])
>>> kw4 = dict(zip(('keyword1', 'keyword2'), ('foo', 'bar')))
>>> assert kw1 == kw2 == kw3 == kw4
>>>
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.