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
Mary-Kate Olsenoriginal
2024-12-08 10:43:18475parcourir

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)

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")

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!

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