Je ne faisais que tester un morceau de code avec Kwargs et Args. Mais pourquoi args récupère tous les paramètres transcédés dans le code suivant?
(['Ramesh', 'Krishna'], {'Krishna_age': 10, 'Ramesh_age': 20, 'Kanchi_age': 5})
blue
{}
3 Réponses :
Vous devez utiliser * noms pour déballer les noms et ** âges pour déballer des âges. P>
J'aime ce myfunc ('bleu', * noms, ** Âges) code> p>
Pour être précis, Kwargs ne ramasse aucune valeur car Kwargs recherche des paires de clés - valeur.
La façon dont vous avez adopté vos arguments, il n'y a pas de paires de valeur clé. Vous avez passé le long p> comme objet entier, au lieu de déstructurer l'objet et de le transmettre en tant que paires de valeur clé individuelle. P> Comme d'autres ont souligné, la bonne voie consiste à déstructurer l'objet en tant que paires de valeurs de clé séparées telles que: p>
args fort> recherche des valeurs et Voici votre code: P> ('Ramesh', 'Krishna')
blue
{'Ramesh_age': 20, 'Krishna_age': 10, 'Kanchi_age': 5}
myfunc ('bleu', * noms, ** âges) code>Parce que vous avez seulement passé des arguments positionnels