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

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

Patricia Arquette
Libérer: 2024-11-09 12:47:02
original
407 Les gens l'ont consulté

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

Comprendre l'astérisque (*) dans les définitions de fonctions Python

En Python, l'astérisque (*) a une signification importante dans la définition des fonctions. La documentation de référence pour les définitions de fonctions met en lumière son utilisation :

  • Excess Positional Arguments : La forme syntaxique *identifier accepte tous les paramètres de position restants non inclus dans la signature de la fonction et les initialise à un tuple. Par défaut, un tuple vide est attribué s'il n'y a pas d'arguments de position en excès.
  • Arguments de mot-clé en excès : La forme syntaxique **identifiant stocke tous les arguments de mot-clé supplémentaires non pris en compte dans la signature de la fonction. et les affecte à un nouveau dictionnaire. La valeur par défaut est un dictionnaire vide s'il n'y a pas d'arguments de mots-clés en excès.

Voici des exemples concrets pour illustrer leur application :

Exemple 1 : Arguments de mots-clés en excès

def foo(a, b, c, **args):
    print(f"a = {a}")
    print(f"b = {b}")
    print(f"c = {c}")
    print(args)

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

Exemple 2 : Excès de position Arguments

def foo(a, b, c, *args):
    print(f"a = {a}")
    print(f"b = {b}")
    print(f"c = {c}")
    print(args)

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

Déballage des arguments

L'astérisque peut également être utilisé pour décompresser des dictionnaires ou des tuples en arguments de fonction :

Exemple 3 : Déballage d'un Dictionnaire

def foo(a, b, c, **args):
    print(f"a={a}")
    print(f"b={b}")
    print(f"c={c}")
    print(f"args={args}")

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

Exemple 4 : Décompression d'un tuple

def foo(a, b, c, *args):
    print(f"a={a}")
    print(f"b={b}")
    print(f"c={c}")
    print(f"args={args}")

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

En comprenant l'utilisation de l'astérisque dans les définitions de fonctions Python, vous pouvez gérer efficacement les arguments en excès et décompressez les données en arguments de fonction.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal