en python, quelle est la différence entre les arguments ayant des valeurs par défaut: et argument de mots clés: p> ? Je suppose qu'il n'y a pas de différence, mais le Tutoriel a deux sections: p> 4.7.1. Valeurs d'argument par défaut p>
4.7.2. Arguments de mots clés p>
BlockQuote> Ce qui semble avoir une différence d'entre eux. Si oui, pourquoi ne puis-je pas utiliser cette syntaxe en 2.6: p> ? P> p>
4 Réponses :
Les arguments de mots-clés sont la manière dont vous appelez une fonction.
f( a=1, b=2, c=3, d=4 )
Ou, les arguments de mots clés sont les paramètres réels i> et les valeurs par défaut sont paramètres formels i>.
Les arguments par défaut signifient que vous pouvez laisser certains paramètres. Au lieu de Les arguments de mots-clés signifient que vous n'avez pas à les mettre dans le même ordre que la définition de la fonction. Au lieu de F (1, 2, 3) code> Vous pouvez simplement écrire
f (1) code> ou
f (1, 2) code>. P >
f (1, 2, 3) code>, vous pouvez faire
f (c = 3, b = 2, a = 1) code>. P>.
* args code> et / ou
** kwargs code> doit toujours venir à l'extrémité em> de la liste d'arguments dans une déclaration de fonction, si elles sont présent. Spécifiquement:
def <function name>(
[<args without defaults>,]
[<args with defaults>,]
[*<variable length positional argument list name>,]
[**<arbitrary keyward argument dict name>]
):
<function body>
Les valeurs par défaut pour les paramètres sont définies lors de la définition de la fonction avec def em>. Cela fait passer ces arguments facultatifs lors de l'appel de la fonction Paramètres avec des valeurs par défaut ne doit que être placé après des paramètres simples. p> Fonction appelée des arguments de mots clés: strong> p> arguments de mots-clés sont des arguments simples. Lorsque vous appelez une fonction, vous pouvez fournir des paires de noms de noms de noms de paramètres = valeur au lieu de la valeur. Cela vous permet de fournir les arguments dans un appel de fonction dans n'importe quel ordre. P> P>