-1
votes

kargs et args se comptent étrange

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
{}


2 commentaires

myfunc ('bleu', * noms, ** âges)


Parce que vous avez seulement passé des arguments positionnels


3 Réponses :


2
votes

Vous devez utiliser * noms pour déballer les noms et ** âges pour déballer des âges.

J'aime ce myfunc ('bleu', * noms, ** Âges)


0 commentaires

2
votes

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 xxx

comme objet entier, au lieu de déstructurer l'objet et de le transmettre en tant que paires de valeur clé individuelle.

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: xxx


0 commentaires

0
votes

args fort> recherche des valeurs et kwargs forts> recherche des paires de valeur de clé. Lorsque vous appelez votre fonction, vous devez spécifier * strong> avant args fort> et ** ** strong> avant kwargs strong>. C'est la façon dont Python fonctionne.

Voici votre code: P>

('Ramesh', 'Krishna')
blue
{'Ramesh_age': 20, 'Krishna_age': 10, 'Kanchi_age': 5}


0 commentaires