Je ne trouve nulle part où utiliser et s'il existe des différences entre ces 2 appels: et p>
4 Réponses :
Votre appel initial de la fonction utilise un argument de position - c'est-à-dire qu'il correspondra au «10» avec le premier paramètre de l'argument.
Toutefois, si vous appelez explicitement la fonction avec un argument de mot-clé, il correspondra à la valeur avec le mot clé spécifié. p>
Alors la raison pour laquelle vous alliez vraiment passer x = 10, est si c'était un ** kwarg ou si x est défini dans la variable qui aboutirait à 10 * 10, donc 100. P> La raison derrière ceci est que Python accepte les arguments de position em> qui sont efficacement: p> où x dans une certaine position est en position 0 pour les arguments que vous pouvez transmettre. P > où comme: p> def somefunction(x=10)
#dosomestuff
Votre question est un peu vague et cela dépend de votre construction de fonction. alors vous pouvez l'appeler via
Supposons que vous avez une fonction: une fonction de fonctionnement (10) code> ou de fonctionnement (x = 10) code> Ce dernier est plus verbeux mais le premier suffira totalement. Recherchez args code> et ** kwargs code> pour une meilleure compréhension, par exemple. ici . P> P>
Il y a une importance majeure de La différence la plus fondamentale entre ces deux est prises en ordre et que Kwargs ne le sont pas.
kwargs peut être donné dans n'importe quel ordre. p> Avant de lire cette réponse, j'espère que vous avez des connaissances sur les arguments par défaut Python. P> args code> et kwargs code>. Tout d'abord 10 code> est le arg code> (argument) et x = 10 code> (argument de mots clés) est appelé kwarg code>. def func(a=25, b, c, d=3, e, f=2, g, h=1, i):
return a * b * c * d * e * f * g * h * i
Pas si vous avez un paramètre appelé
x code>.Alors quand l'utiliser?
Les arguments de mots clés peuvent être transmis dans n'importe quel ordre, mais les arguments de position ne peuvent pas. Voir args vs kwargs.