Maison >développement back-end >Tutoriel Python >Que fait l'astérisque (*) dans les fonctions Python ?

Que fait l'astérisque (*) dans les fonctions Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-26 10:04:08642parcourir

What Does the Asterisk (*) Do in Python Functions?

Quelle est la signification de l'astérisque (*) en Python ?

L'astérisque (*) a un objectif important en Python, comparable à son utilisation en C. En Python, il remplit plusieurs rôles dans les définitions et les appels de fonctions.

Définitions de fonctions avec astérisque Argument :

Dans les définitions de fonctions, la syntaxe *identifier introduit un paramètre qui rassemble tous les arguments de position restants dans un tuple. Si aucun argument supplémentaire n’est fourni, la valeur par défaut est un tuple vide. La définition de fonction suivante illustre ce concept :

def get(*a, **kw)

Ici, a collecte tous les arguments de position supplémentaires, tandis que kw rassemble tous les arguments de mots clés excédentaires dans un dictionnaire.

Appels de fonction avec astérisque Argument :

Lors de l'appel d'une fonction, l'astérisque peut être utilisé pour décompresser les arguments stockés dans des tuples ou des dictionnaires. Par exemple :

Arguments de position :

def foo(a, b, c, *args):
    print(a, b, c, args)

args_tuple = ("testa", "testb", "testc", "excess")
foo(*args_tuple)  # unpacks positional arguments from a tuple

Arguments de mots clés :

def foo(a, b, c, **args):
    print(a, b, c, args)

arg_dict = {"a": "testa", "b": "testb", "c": "testc", "excessarg": "string"}
foo(**arg_dict)  # unpacks keyword arguments from a dictionary

L'opérateur astérisque permet gestion flexible des arguments excédentaires dans les définitions de fonctions et les appels. Pour une explication détaillée, reportez-vous à la référence du langage Python sous « Définitions de fonctions » et « Appels de fonctions ».

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!

Déclaration:
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