Maison > développement back-end > Tutoriel Python > Comment *args et kwargs peuvent-ils améliorer la flexibilité des arguments de fonction en Python ?

Comment *args et kwargs peuvent-ils améliorer la flexibilité des arguments de fonction en Python ?

Barbara Streisand
Libérer: 2024-12-19 13:53:14
original
181 Les gens l'ont consulté

How Can *args and kwargs Enhance Function Argument Flexibility in Python?

Utilisation de args et kwargs pour la polyvalence des arguments de fonction*

En programmation, il peut être utile de gérer les arguments de manière flexible au sein des fonctions. C'est là que les arguments et *kwargs entrent en jeu.

Comprendre les arguments et kwargs*

  • args : (Arguments positionnels) Prend un nombre variable d'arguments de position sous la forme d'un tuple.
  • kwargs : (Arguments de mots-clés) Prend un nombre variable d'arguments de mots-clés sous la forme d'un dictionnaire.

Avantages de l'utilisation de args et kwargs*

  • Gestion extensible des arguments : Vous pouvez définir des fonctions qui peuvent accepter n'importe quel nombre ou type d'argument.
  • Arguments génériques : Transmettez des arguments arbitraires aux fonctions et faites-les correspondre dynamiquement.

Exemples simples

  • Arguments positionnels (*args) :
def print_items(*args):
    for item in args:
        print(item)

print_items("apple", "banana", "cherry")
Copier après la connexion

Sortie :

apple
banana
cherry
Copier après la connexion
  • Arguments de mots clés (kwargs) :**
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key} = {value}")

print_info(name="John Doe", age=30)
Copier après la connexion

Sortie :

name = John Doe
age = 30
Copier après la connexion

Utilisation combinée avec des arguments nommés

def print_student(name, **kwargs):
    print(f"Name: {name}")
    for key, value in kwargs.items():
        print(f"{key} = {value}")

print_student("Jane Smith", major="Engineering", GPA=3.8)
Copier après la connexion

Sortie :

Name: Jane Smith
major = Engineering
GPA = 3.8
Copier après la connexion

Utilisation dans la fonction Appels

def sum_numbers(*args):
    total = 0
    for num in args:
        total += num

nums = [1, 2, 3, 4, 5]
result = sum_numbers(*nums)  # Unpack the list into positional arguments
Copier après la connexion

Dans cet exemple, les *nums étendent la liste en arguments de position individuels, permettant à la fonction sum_numbers de les gérer comme un nombre variable d'arguments.

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