Maison > développement back-end > Tutoriel Python > Comment fonctionne l'opérateur astérisque (*) dans les définitions et les appels de fonctions Python ?

Comment fonctionne l'opérateur astérisque (*) dans les définitions et les appels de fonctions Python ?

DDD
Libérer: 2024-11-09 03:49:02
original
783 Les gens l'ont consulté

How does the asterisk (*) operator work in Python function definitions and calls?

Quelle est la signification de l'astérisque (*) dans les définitions de fonctions Python ?

En Python, l'opérateur astérisque (*) joue un rôle rôle central dans la définition des fonctions.

Définitions des fonctions

Lorsqu'il est utilisé dans les définitions de fonctions, l'astérisque a deux formes :

  • *identifier signifie un tuple qui accumule tous les arguments de position en excès non explicitement définis dans la signature de la fonction.
  • **identifier représente un dictionnaire qui regroupe tous les arguments de mot-clé en excès.

Exemples

Considérons la définition de fonction suivante :

def get(self, *a, **kw)
Copier après la connexion
  • L'astérisque () après le paramètre a* collecte tous les arguments de position restants dans un tuple.
  • Le double astérisque (*) après le paramètre kw* rassemble tous les arguments de mots-clés restants dans un dictionnaire.

Appels de fonction

Lors de l'appel d'une fonction avec des arguments en excès, ils peuvent être transmis en utilisant la syntaxe de l'astérisque :

Arguments de position

foo("testa", "testb", "testc", "excess", "another_excess")
Copier après la connexion

Dans cet exemple, les arguments de position en excès ("excess" et "another_excess") sont regroupés dans un tuple.

Arguments de mots clés

foo(a="testa", d="excess", c="testc", b="testb", k="another_excess")
Copier après la connexion

Les arguments de mots-clés en excès ("d" et "k") sont rassemblés dans un dictionnaire.

Déballage des arguments

Vous pouvez également décompresser des dictionnaires ou des tuples en fonction arguments utilisant la syntaxe de l'astérisque :

Déballage d'un dictionnaire

argdict = dict(a="testa", b="testb", c="testc", excessarg="string")
foo(**argdict)
Copier après la connexion

Déballage d'un tuple

argtuple = ("testa", "testb", "testc", "excess")
foo(*argtuple)
Copier après la connexion

Conclusion

L'opérateur astérisque (*) fournit un moyen pratique de gérer les arguments excédentaires dans les définitions et les appels de fonctions Python, permettant ainsi la flexibilité et la lisibilité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal