Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre **Kwargs | Arguments dans les Fonctions
Techniques Python Intermédiaires

book
**Kwargs

Passons maintenant aux keyword arbitrary arguments ou **kwargs. Le principe de fonctionnement de **kwargs est le même que pour *args, mais il accepte des arguments de mot-clé au lieu de positionnels. **kwargs regroupe les informations dans un dictionnaire, nous allons donc travailler avec en conséquence.

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

personal_info("Sarah", surname="Conor", son="John")
personal_info("Natalie", cats="3", breed="Maine Coon")
1234567
def personal_info(name, **kwargs): print(f"Name: {name}") for key, value in kwargs.items(): print(f"{key.capitalize()}: {value}") personal_info("Sarah", surname="Conor", son="John") personal_info("Natalie", cats="3", breed="Maine Coon")
copy

L'ordre correct pour les arguments est le suivant :

  1. Positionnel

  2. Optionnel

  3. *args

  4. **kwargs

def new_func(a, b=0, *args, **kwargs):
print(f"a = {a}, b = {b}, args = {args}, kwargs = {kwargs}")

new_func(1, 2, "Love", "Hope", name="Anna", age=20)
1234
def new_func(a, b=0, *args, **kwargs): print(f"a = {a}, b = {b}, args = {args}, kwargs = {kwargs}") new_func(1, 2, "Love", "Hope", name="Anna", age=20)
copy

Si vous souhaitez décompresser des dictionnaires, vous devez utiliser ** avant la variable de dictionnaire.

1. Que représente **kwargs dans une signature de fonction Python ?

2. Que va afficher print_details(name="Alice", age=30) ?

3. Étant donné la définition de fonction ci-dessous, quel appel est valide ?

question mark

Que représente **kwargs dans une signature de fonction Python ?

Select the correct answer

question mark

Que va afficher print_details(name="Alice", age=30) ?

def print_details(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

Select the correct answer

question mark

Étant donné la définition de fonction ci-dessous, quel appel est valide ?

def mix_args(a, *args, **kwargs):
print(a, args, kwargs)

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4

Demandez à l'IA

expand
ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt