-1
votes

Syntaxe incompréhensible dans Python - Passage de variables comme arguments

Je ne trouve nulle part où utiliser et s'il existe des différences entre ces 2 appels: xxx

et xxx


3 commentaires

Pas si vous avez un paramètre appelé x .


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.


4 Réponses :


1
votes

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é. xxx


0 commentaires

0
votes

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 xxx pré>

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> xxx pré>

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


0 commentaires

0
votes

Votre question est un peu vague et cela dépend de votre construction de fonction.
Supposons que vous avez une fonction: xxx

alors vous pouvez l'appeler via une fonction de fonctionnement (10) ou de fonctionnement (x = 10) Ce dernier est plus verbeux mais le premier suffira totalement. Recherchez args et ** kwargs pour une meilleure compréhension, par exemple. ici .


0 commentaires

0
votes

Il y a une importance majeure de 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>.

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>

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


0 commentaires