Maison > développement back-end > Tutoriel Python > Comment Python gère-t-il les arguments variables dans les fonctions ?

Comment Python gère-t-il les arguments variables dans les fonctions ?

Mary-Kate Olsen
Libérer: 2024-12-08 10:43:18
original
426 Les gens l'ont consulté

How Does Python Handle Variable Arguments in Functions?

Passer des arguments variables aux fonctions

En programmation, il existe souvent des scénarios dans lesquels une fonction doit accepter un nombre variable d'arguments. En C et C , ceci est réalisé à l'aide de varargs.

L'approche de Python

Python prend également en charge cette fonctionnalité, mais il adopte une approche légèrement différente :

Non- Arguments de mots-clés :

Pour accepter un nombre variable d'arguments non-mots-clés, vous pouvez utiliser la syntaxe spéciale *arguments. Lorsqu'une fonction est appelée avec plus d'arguments que les paramètres définis, les arguments supplémentaires sont automatiquement collectés dans un tuple nommé args.

def manyArgs(*args):
  print("I was called with", len(args), "arguments:", args)

manyArgs(1)  # Output: I was called with 1 arguments: (1,)
manyArgs(1, 2, 3)  # Output: I was called with 3 arguments: (1, 2, 3)
Copier après la connexion

Python décompresse automatiquement les arguments dans un tuple, ce qui facilite l'accès à chaque argument. individuellement.

Arguments de mots clés :

Contrairement aux varargs en C/C, Python n'autorise pas les arguments de mots-clés variables de la même manière. Pour prendre en charge les arguments de mots-clés variables, vous devez spécifier manuellement un paramètre distinct pour les arguments de mots-clés, généralement nommé **kwargs.

def manyArgsWithKwargs(num, *args, **kwargs):
  # Non-keyword arguments
  print(f"Non-keyword arguments: {args}")

  # Keyword arguments
  print(f"Keyword arguments: {kwargs}")

manyArgsWithKwargs(1, 2, 3, key1="value1", key2="value2")
Copier après la connexion

Cette approche vous permet d'accepter un nombre variable d'arguments de mots-clés et non-mots-clés. dans la même 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