Malgré la compréhension des définitions de base de args et *kwargs , vous n'êtes pas sûr de leurs applications pratiques. Approfondissons ces concepts et démontrons comment ils peuvent simplifier vos tâches de codage.
*args signifie arguments de longueur variable. Il permet de passer un nombre variable d'arguments à une fonction sous forme de liste. Cela devient utile lorsque vous ne savez pas à l'avance combien d'arguments seront transmis.
Considérez l'exemple suivant :
def print_args(*args): for count, thing in enumerate(args): print("{0}. {1}".format(count, thing))
Maintenant, lorsque vous appelez cette fonction, vous pouvez transmettre n'importe quel nombre d'arguments :
print_args("apple", "banana", "cabbage") # Prints each argument on a new line
**kwargs signifie arguments de mots clés. Il vous permet de transmettre un dictionnaire à une fonction, où les clés deviennent des noms d'arguments et les valeurs deviennent des valeurs d'argument. Ceci est particulièrement utile lorsque vous devez gérer des arguments nommés que vous ne connaissez peut-être pas à l'avance.
Par exemple, modifions notre exemple :
def table_kwargs(**kwargs): for name, value in kwargs.items(): print("{0} = {1}".format(name, value))
Maintenant, lorsque nous appelons cette fonction, nous pouvons spécifier des arguments en fonction de leurs noms :
table_kwargs(apple="fruit", cabbage="vegetable") # Prints "apple = fruit", "cabbage = vegetable"
Vous pouvez également combiner args et kwargs dans les définitions de fonctions pour gérer un mélange d'arguments positionnels et nommés. Cependant, il est important de se rappeler que args doit précéder kwargs dans la signature de la fonction.
Par exemple :
def table_args_kwargs(title, **kwargs): print(title) for name, value in kwargs.items(): print("{0} = {1}".format(name, value))
Vous pouvez maintenant appeler cette fonction avec les deux positions. et arguments nommés :
table_args_kwargs("Table of Stuff", apple="fruit", cabbage="vegetable")
En plus d'utiliser args et *kwargs dans les définitions de fonctions, vous pouvez également les utiliser lors de l'appel de fonctions. Cela vous permet de décompresser des séquences (listes ou tuples) en tant qu'arguments ou de transmettre des dictionnaires en tant qu'arguments nommés.
Par exemple :
def print_three_things(a, b, c): print("a = {0}, b = {1}, c = {2}".format(a, b, c)) mylist = ["aardvark", "baboon", "cat"] print_three_things(*mylist) # Unpacks the list into individual arguments
args et *kwargs fournissent des outils puissants pour gérer des arguments flexibles dans les fonctions Python. Ils vous permettent d'accepter un nombre variable d'arguments, de gérer les arguments nommés et de combiner les deux types en une seule fonction. Comprendre ces concepts est crucial pour écrire du code Python polyvalent et adaptable.
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!